From Fedora Project Wiki
No edit summary
No edit summary
Line 9: Line 9:
There are currently builds on http://ftp.unicamp.br/pub/ppc64el/centos/7/images/
There are currently builds on http://ftp.unicamp.br/pub/ppc64el/centos/7/images/


== Merging ppc64le scratch build into existing build ==
== FINISHED: Merging ppc64le scratch build into existing build ==


All of the packages have been processed.
All of the packages have been processed.

Revision as of 02:55, 23 July 2017

CentOS Cloud SIG ppc64le issues

The following is a list of open issues needed to get https://buildlogs.centos.org/centos/7/cloud/ppc64le/openstack-pike/ matching https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/

Repositories: cloud images

Does the cloud repository https://cloud.centos.org/altarch/7/images/ need to be compiled for ppc64le?

There are currently builds on http://ftp.unicamp.br/pub/ppc64el/centos/7/images/

FINISHED: Merging ppc64le scratch build into existing build

All of the packages have been processed.

For history's sake, the following packages needed to have scratch builds for only ppc64le built and then merged into the existing build of that version (with breaks for repo regens):

cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 apiextractor-0.10.10-11.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-dulwich-0.16.1-1.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 fio-2.2.10-1.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 jsoncpp-0.10.5-2.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 librdkafka-0.9.2-2.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 openvswitch-2.7.1-1.1fc27.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 Cython-0.25.2-3.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-dulwich-0.16.1-1.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-lz4-0.9.0-1.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-psutil-5.2.2-1.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-tornado-4.4.2-2.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-gitdb-0.6.4-4.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 qpid-proton-0.14.0-2.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 sip-4.19-1.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 sparsehash-2.0.2-4.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 mozjs38-38.8.0-2.el7.src.rpm
---
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 coin-or-CoinUtils-2.10.13-1.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 generatorrunner-0.6.16-10.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 mongodb-3.2.8-3.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 libev-4.24-1.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 qpid-cpp-1.35.0-2.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-subprocess32-3.2.6-4.el7.src.rpm
---
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 glpk-4.52.1-2.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 PyQt4-4.12-1.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-cassandra-driver-3.7.1-4.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-gevent-1.1.2-2.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-matplotlib-2.0.0-2.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 shiboken-1.2.4-2.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 cmake3-3.6.1-2.el7.src.rpm
---
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 coin-or-Osi-0.107.8-1.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-pandas-0.19.1-2.el7.2.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-pykafka-2.6.0-0.1.dev2.el7.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-pyside-1.2.2-6.el7.1.src.rpm
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 qpid-dispatch-0.6.1-4.el7.src.rpm
---
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 coin-or-Clp-1.16.10-1.el7.src.rpm
---
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 coin-or-Cgl-0.59.9-1.el7.src.rpm
---
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 coin-or-Cbc-2.9.8-1.el7.src.rpm

Needs to move from cloud7-openstack-common-candidate to cloud7-openstack-common-release

How in general is this supposed to happen? Also, specifically, these packages need to show up in -release.

corosync-2.4.0-9.el7
https://cbs.centos.org/koji/buildinfo?buildID=17261
erlang-19.3.6.1-1.el7
https://cbs.centos.org/koji/buildinfo?buildID=17627
galera-25.3.16-3.el7
https://cbs.centos.org/koji/buildinfo?buildID=17566
libqb-1.0.1-3.el7
https://cbs.centos.org/koji/buildinfo?buildID=17248
librx-1.5-28.el7
https://cbs.centos.org/koji/buildinfo?buildID=16943
nagios-4.0.8-2.el7
https://cbs.centos.org/koji/buildinfo?buildID=11208
pacemaker-1.1.16-10.el7
https://cbs.centos.org/koji/buildinfo?buildID=17258
pcs-0.9.158-4.el7
https://cbs.centos.org/koji/buildinfo?buildID=17327
python-bcrypt-3.1.2-3.el7
https://cbs.centos.org/koji/buildinfo?buildID=17369
python-pillow-4.0.0-0.1.el7
https://cbs.centos.org/koji/buildinfo?buildID=16917
scipy
https://cbs.centos.org/koji/buildinfo?buildID=15956
python-sqlalchemy
https://cbs.centos.org/koji/buildinfo?buildID=17555
resource-agents
https://cbs.centos.org/koji/buildinfo?buildID=17263
subunit
https://cbs.centos.org/koji/buildinfo?buildID=17618

copying x86_64 noarch into ppc64le

Not sure how to get noarch from https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/ into https://buildlogs.centos.org/centos/7/cloud/ppc64le/openstack-pike/. Needs to be retagged?

openstack-aodh
https://cbs.centos.org/koji/packageinfo?packageID=1949
openstack-macros
https://cbs.centos.org/koji/packageinfo?packageID=3792
puppet
https://cbs.centos.org/koji/buildinfo?buildID=15305
python-amqp
https://cbs.centos.org/koji/buildinfo?buildID=17360
python-cotyledon
https://cbs.centos.org/koji/buildinfo?buildID=15562
python-docker
https://cbs.centos.org/koji/buildinfo?buildID=17580
python-docker-pycreds
https://cbs.centos.org/koji/buildinfo?buildID=17042
python-eventlet
https://cbs.centos.org/koji/buildinfo?buildID=17356
python-funcsigs
https://cbs.centos.org/koji/buildinfo?buildID=11232
python-gabbi
https://cbs.centos.org/koji/buildinfo?buildID=17031
python-kombu
https://cbs.centos.org/koji/buildinfo?buildID=16783
python-mock
https://cbs.centos.org/koji/buildinfo?buildID=12100
python-murano-pkg-check
https://cbs.centos.org/koji/buildinfo?buildID=15689
python-openstackdocstheme
https://cbs.centos.org/koji/buildinfo?buildID=17538
python-paramiko
https://cbs.centos.org/koji/buildinfo?buildID=11376
python-pbr
https://cbs.centos.org/koji/buildinfo?buildID=17532
python-pecan
https://cbs.centos.org/koji/buildinfo?buildID=11604
python-positional
https://cbs.centos.org/koji/buildinfo?buildID=12116
python-PyMySQL
https://cbs.centos.org/koji/buildinfo?buildID=17298
pyOpenSSL
https://cbs.centos.org/koji/buildinfo?buildID=15812
python-pyroute2
https://cbs.centos.org/koji/buildinfo?buildID=17311
python-ryu
https://cbs.centos.org/koji/buildinfo?buildID=17279
python-sphinx
https://cbs.centos.org/koji/buildinfo?buildID=17541
python-sphinxcontrib-websupport
https://cbs.centos.org/koji/buildinfo?buildID=17539
python-tinyrpc
https://cbs.centos.org/koji/buildinfo?buildID=17259
python-tosca-parser
https://cbs.centos.org/koji/buildinfo?buildID=15326
python-vine
https://cbs.centos.org/koji/buildinfo?buildID=16741
python-XStatic-Angular
https://cbs.centos.org/koji/buildinfo?buildID=15445
python-XStatic-Angular-Bootstrap
https://cbs.centos.org/koji/buildinfo?buildID=15447
python-XStatic-Angular-Gettext
https://cbs.centos.org/koji/packageinfo?packageID=767
python-XStatic-bootswatch
https://cbs.centos.org/koji/buildinfo?buildID=15451
python-XStatic-D3
https://cbs.centos.org/koji/buildinfo?buildID=15452
python-XStatic-Font-Awesome
https://cbs.centos.org/koji/buildinfo?buildID=15536
python-XStatic-JSEncrypt
https://cbs.centos.org/koji/buildinfo?buildID=15448
python-XStatic-roboto-fontface
https://cbs.centos.org/koji/buildinfo?buildID=14533
python-cachetools
https://cbs.centos.org/koji/buildinfo?buildID=11994
python-django-compressor
https://cbs.centos.org/koji/buildinfo?buildID=11184
python-django-pyscss
https://cbs.centos.org/koji/buildinfo?buildID=3735
python-dogpile-cache
https://cbs.centos.org/koji/buildinfo?buildID=12119
python-idna
https://cbs.centos.org/koji/buildinfo?buildID=17243
python-kafka
https://cbs.centos.org/koji/buildinfo?buildID=15342
python-migrate
https://cbs.centos.org/koji/buildinfo?buildID=16842
python-pytest-cov
https://cbs.centos.org/koji/buildinfo?buildID=17374
python-requests-mock
https://cbs.centos.org/koji/buildinfo?buildID=13885
python-sphinx-locale
https://cbs.centos.org/koji/buildinfo?buildID=17541
python-sphinx_rtd_theme
https://cbs.centos.org/koji/buildinfo?buildID=17542
python-webob
https://cbs.centos.org/koji/buildinfo?buildID=17007

cloud7-openstack-pike-candidate is not built yet for ppc64le

The repository https://cbs.centos.org/repos/cloud7-openstack-pike-candidate/ is not currently built for ppc64 because it would break the x86_64 builds.

Other package errors

libunwind

libunwind-1.1-3.el7.src.rpm does not support ppc64le architecture

...
error: Architecture is not included: ppc64le
...

We need to tag libunwind-1.1-10.el7 into cloud7-openstack-common-release

mariadb-galera

Building mariadb-galera-5.5.40-3.el7.src.rpm fails with the following message:

Executing command: ['bash', '--login', '-c', u'/usr/bin/rpmbuild -bb --target ppc64le --nodeps /builddir/build/SPECS/mariadb-galera.spec'] with env {'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'} and shell False
error: Architecture is not included: ppc64le
Building target platforms: ppc64le
Building for target ppc64le
Child return code was: 1

In Koji, it was last built on 2015-06-17. Is this package in active development?

openstack-tripleo-ui-deps

Building openstack-tripleo-ui-deps-7-5.el7.src.rpm fails with the following message:

Executing command: ['bash', '--login', '-c', u'/usr/bin/rpmbuild -bb --target ppc64le --nodeps /builddir/build/SPECS/openstack-tripleo-ui-deps.spec'] with env {'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'} and shell False
error: Architecture is not included: ppc64le
Building target platforms: ppc64le
Building for target ppc64le

Altering the openstack-tripleo-ui-deps.spec file

[hamzy@pkvmci853 ~]$ diff -Nu ~/rpmbuild/SPECS/openstack-tripleo-ui-deps.spec.orig ~/rpmbuild/SPECS/openstack-tripleo-ui-deps.spec
--- /home/hamzy/rpmbuild/SPECS/openstack-tripleo-ui-deps.spec.orig      2017-05-30 19:15:56.000000000 -0400
+++ /home/hamzy/rpmbuild/SPECS/openstack-tripleo-ui-deps.spec   2017-07-22 18:51:05.471924860 -0400
@@ -20,7 +20,7 @@
 Source0:        tripleo-ui-deps-%{shortcommit}.tar.gz
 
 # Cannot build as noarch until nodejs is built from aarch64 in CBS
-ExclusiveArch: x86_64
+ExclusiveArch: x86_64 ppc64le 
 
 BuildRequires:  nodejs
 BuildRequires:  git

the build will succeed.

phantomjs

Building phantomjs-1.9.7-3.el7.src.rpm encounters the following error:

g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DHAVE_CONFIG_H -DHAVE_FCNTL_H -DHAVE_STDARG_H -DHAVE_STDINT_H -DHAVE_UNISTD_H -DUSE_UTF8 -DSTATIC_BUILD -DQCOMMANDLINE_STATIC -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -Iqt/mkspecs/linux-g++ -I. -Iqt/include/QtCore -Iqt/include/QtNetwork -Iqt/include/QtGui -Iqt/include/QtWebKit -Iqt/include -Igif -Imongoose -Ilinenoise/src -Iqcommandline -Ibreakpad/src -I. -o csconverter.o csconverter.cpp
In file included from breakpad/src/common/memory.h:44:0,
                 from breakpad/src/client/linux/minidump_writer/linux_dumper.h:49,
                 from breakpad/src/client/linux/minidump_writer/minidump_writer.h:39,
                 from breakpad/src/client/linux/handler/exception_handler.h:45,
                 from main.cpp:36:
breakpad/src/third_party/lss/linux_syscall_support.h: In function 'void* sys_mmap2(void*, size_t, int, int, int, off_t)':
breakpad/src/third_party/lss/linux_syscall_support.h:2429:18: error: '__NR_mmap2' was not declared in this scope
         __sc_0 = __NR_##name
                  ^
breakpad/src/third_party/lss/linux_syscall_support.h:2432:13: note: in expansion of macro 'LSS_LOADARGS_0'
             LSS_LOADARGS_0(name);                                             \
             ^
breakpad/src/third_party/lss/linux_syscall_support.h:2436:13: note: in expansion of macro 'LSS_LOADARGS_1'
             LSS_LOADARGS_1(name, arg1);                                       \
             ^
breakpad/src/third_party/lss/linux_syscall_support.h:2440:13: note: in expansion of macro 'LSS_LOADARGS_2'
             LSS_LOADARGS_2(name, arg1, arg2);                                 \
             ^
breakpad/src/third_party/lss/linux_syscall_support.h:2444:13: note: in expansion of macro 'LSS_LOADARGS_3'
             LSS_LOADARGS_3(name, arg1, arg2, arg3);                           \
             ^
breakpad/src/third_party/lss/linux_syscall_support.h:2448:13: note: in expansion of macro 'LSS_LOADARGS_4'
             LSS_LOADARGS_4(name, arg1, arg2, arg3, arg4);                     \
             ^
breakpad/src/third_party/lss/linux_syscall_support.h:2452:13: note: in expansion of macro 'LSS_LOADARGS_5'
             LSS_LOADARGS_5(name, arg1, arg2, arg3, arg4, arg5);               \
             ^
breakpad/src/third_party/lss/linux_syscall_support.h:2480:13: note: in expansion of macro 'LSS_LOADARGS_6'
             LSS_LOADARGS_##nr(name, args);                                    \
             ^
breakpad/src/third_party/lss/linux_syscall_support.h:2533:11: note: in expansion of macro 'LSS_BODY'
           LSS_BODY(6, type, name, arg1, arg2, arg3, arg4, arg5, arg6);        \
           ^
breakpad/src/third_party/lss/linux_syscall_support.h:3046:16: note: in expansion of macro '_syscall6'
     LSS_INLINE _syscall6(void*, mmap2,             void*, s,
                ^
In file included from main.cpp:36:0:
breakpad/src/client/linux/handler/exception_handler.h: At global scope:
breakpad/src/client/linux/handler/exception_handler.h:178:26: error: field 'float_state' has incomplete type
     struct _libc_fpstate float_state;
                          ^
make[1]: *** [main.o] Error 1

Some internet talk about it here: powerpc-linux not currently supported and Porting google-breakpad on ppc64le

I did more research here: phantomjs_ppc64le

python-cradox

python-cradox-1.3.2-1.el7.src.rpm is fixed. However, I do not know if the appropriate way was used. Basically, the Exclusive architecture statement was removed.

[hamzy@pkvmci853 ~]$ (TMP1=$(mktemp); TMP2=$(mktemp); wget --quiet -O - 'http://cbs.centos.org/kojifiles/packages/python-cradox/1.3.2/1.el7/src/python-cradox-1.3.2-1.el7.src.rpm' | rpm2cpio | cpio --extract --to-stdout python-cradox.spec > ${TMP1} 2>/dev/null; wget --quiet -O - 'http://cbs.centos.org/kojifiles/packages/python-cradox/1.3.2/1.el7.1/src/python-cradox-1.3.2-1.el7.1.src.rpm' | rpm2cpio | cpio --extract --to-stdout python-cradox.spec > ${TMP2} 2>/dev/null; diff -Nu ${TMP1} ${TMP2}; /bin/rm ${TMP1} ${TMP2})
--- /tmp/tmp.h5gKhhCQJj 2017-07-22 07:33:56.729566824 -0400
+++ /tmp/tmp.d7p7Qh4hqO 2017-07-22 07:33:56.829568094 -0400
@@ -6,12 +6,9 @@
 
 Name:           python-%{pypi_name}
 Version:        1.3.2
-Release:        1%{?dist}
+Release:        1%{?dist}.1
 Summary:        Python libraries for the Ceph librados library with use cython instead of ctypes
 
-# TODO(apevec) temp disable ppc64le, builder was not picking up the task after 1h
-ExclusiveArch: x86_64 aarch64
-
 License:        LGPLv2
 URL:            https://github.com/sileht/pycradox
 Source0:        https://files.pythonhosted.org/packages/source/c/%{pypi_name}/%{pypi_name}-%{version}.tar.gz

python-fastcache

Building python-fastcache-1.0.2-3.el7.src.rpm fails with the following message:

+ py.test-2.7 -v --ignore=fastcache/tests
============================= test session starts ==============================
platform linux2 -- Python 2.7.5, pytest-3.0.6, py-1.4.31, pluggy-0.4.0 -- /usr/bin/python2
cachedir: .cache
rootdir: /builddir/build/BUILD/python-fastcache-1.0.2/fastcache-1.0.2, inifile: 
collecting ... collected 0 items
========================= no tests ran in 0.01 seconds =========================
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.aoOVMr (%check)
    Bad exit status from /var/tmp/rpm-tmp.aoOVMr (%check)

python-tables

Building python-tables-3.1.1-2.el7.src.rpm encounters the following error:

+ python setup.py build
* Using Python 2.7.5 (default, Nov 11 2016, 04:49:48) 
.. ERROR:: You need numpy 1.4.1 or greater to run PyTables!
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.U2vx9n (%build)
    Bad exit status from /var/tmp/rpm-tmp.U2vx9n (%build)
Child return code was: 1

x86_64 successfully built a while ago, but a scratch build also fails now.

Building python-tables-3.2.0-1.el7.src.rpm encounters the following error:

...
DEBUG util.py:417:  Error: No Package found for blosc-devel >= 1.5.2
...

So blosc-1.6.1-1.el7.src.rpm was imported from EPEL. However, python-tables still fails (https://kojipkgs.fedoraproject.org//packages/python-tables/3.2.0/1.el7/data/logs/ppc64le/build.log):

...
ERROR: None (tables.tests.test_tables.RecArrayRangeTestCase)
...
ValueError: could not broadcast input array from shape (2) into shape (0)
...
Ran 5734 tests in 183.285s
FAILED (errors=4, skipped=13)
...

Maybe https://github.com/PyTables/PyTables/issues/482 points to a solution?

python-tables is needed by openstack-gnocchi and python-hardware:

2017-07-22 05:41:33,615 INFO:dlrn-build:Error: Package: python2-pandas-0.19.1-2.el7.2.ppc64le (cloud7_openstack_common_release)
2017-07-22 05:41:33,615 INFO:dlrn-build:           Requires: python-tables
...
2017-07-22 05:41:33,646 ERROR:dlrn:Received exception Error in build_rpm_wrapper for openstack-gnocchi:
...
2017-07-22 12:56:37,528 INFO:dlrn-build:DEBUG: Error: Package: python2-pandas-0.19.1-2.el7.2.ppc64le (cloud7_openstack_common_candidate)
2017-07-22 12:56:37,528 INFO:dlrn-build:DEBUG:            Requires: python-tables
...
2017-07-22 12:56:50,478 ERROR:dlrn:Received exception Error in build_rpm_wrapper for python-hardware:

v8

Building v8-3.14.5.10-17.el7.src.rpm fails with the following message:

Executing command: ['bash', '--login', '-c', u'/usr/bin/rpmbuild -bb --target ppc64le --nodeps /builddir/build/SPECS/v8.spec'] with env {'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'} and shell False
error: Architecture is not included: ppc64le
Building target platforms: ppc64le
Building for target ppc64le
Child return code was: 1

Building v8-5.2.258-11.el7.src.rpm (https://kojipkgs.fedoraproject.org//packages/v8/5.2.258/11.fc27/src/v8-5.2.258-11.fc27.src.rpm) fails with the following message:

DEBUG util.py:417:  Error: No Package found for clang

Building clang-4.0.1-1.el7.src.rpm (https://kojipkgs.fedoraproject.org//packages/clang/4.0.1/1.fc27/src/clang-4.0.1-1.fc27.src.rpm) fails with the following message:

Error: No Package found for llvm-devel = 4.0.1
Error: No Package found for llvm-static = 4.0.1
Error: No Package found for python2-lit
Error: No Package found for python3-sphinx

Building llvm-4.0.1-1.el7.src.rpm (https://kojipkgs.fedoraproject.org//packages/llvm/4.0.1/1.fc27/src/llvm-4.0.1-1.fc27.src.rpm) fails with the following message:

DEBUG util.py:417:  Error: No Package found for python3-sphinx

Altering the llvm.spec file

[hamzy@pkvmci853 ~]$ diff -Nu ~/rpmbuild/SPECS/llvm.spec.orig ~/rpmbuild/SPECS/llvm.spec                                   [11/1927]
--- /home/hamzy/rpmbuild/SPECS/llvm.spec.orig   2017-06-22 16:53:12.000000000 -0400
+++ /home/hamzy/rpmbuild/SPECS/llvm.spec        2017-07-22 16:08:43.742010218 -0400
@@ -7,6 +7,10 @@
 
 %global llvm_bindir %{_libdir}/%{name}
 
+%if 0%{?fedora} || 0%{?epel}
+%global with_python3 1
+%endif
+
 Name:          llvm
 Version:       4.0.1
 Release:       1%{?dist}
@@ -24,11 +28,15 @@
 Patch5:                0001-CMake-Fix-docs-llvm-man-target-when-clang-llvm-is-in.patch
 Patch6:                0001-CMake-Add-LLVM_UTILS_INSTALL_DIR-option.patch
 
-BuildRequires: cmake
+BuildRequires: cmake3
 BuildRequires: zlib-devel
 BuildRequires:  libffi-devel
 BuildRequires: ncurses-devel
+%if 0%{?with_python3}
 BuildRequires: python3-sphinx
+%else
+BuildRequires: python2-sphinx
+%endif
 BuildRequires: multilib-rpm-config
 %if %{with gold}
 BuildRequires:  binutils-devel
@@ -93,7 +101,7 @@
 %endif
 
 # force off shared libs as cmake macros turns it on.
-%cmake .. \
+%cmake3 .. \
        -DBUILD_SHARED_LIBS:BOOL=OFF \
        -DCMAKE_BUILD_TYPE=RelWithDebInfo \
        -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-Bsymbolic -static-libstdc++" \
@@ -143,7 +151,11 @@
        -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
        \
        -DSPHINX_WARNINGS_AS_ERRORS=OFF \
+%if 0%{?with_python3}
        -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3
+%else
+       -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build
+%endif
 
 make %{?_smp_mflags}
 

the build will succeed.

Building python-lit-0.5.0-1.el7.src.rpm (https://kojipkgs.fedoraproject.org//packages/python-lit/0.5.0/1.fc27/src/python-lit-0.5.0-1.fc27.s) fails with the following message:

+ sed -i -e '1{\@^#!/usr/bin/env python@d}' '/builddir/build/BUILDROOT/python-lit-0.5.0-1.el7.ppc64le%{python3_sitelib}/lit/*.py'
sed: can't read /builddir/build/BUILDROOT/python-lit-0.5.0-1.el7.ppc64le%{python3_sitelib}/lit/*.py: No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.NKKtMh (%install)

Altering the python-lit.spec file

[hamzy@pkvmci853 ~]$ diff -Nu ~/rpmbuild/SPECS/python-lit.spec.orig ~/rpmbuild/SPECS/python-lit.spec
--- /home/hamzy/rpmbuild/SPECS/python-lit.spec.orig     2017-03-10 10:51:45.000000000 -0500
+++ /home/hamzy/rpmbuild/SPECS/python-lit.spec  2017-07-22 17:33:40.084558263 -0400
@@ -63,7 +63,9 @@
 
 # Strip out #!/usr/bin/env python
 sed -i -e '1{\@^#!/usr/bin/env python@d}' %{buildroot}%{python2_sitelib}/%{srcname}/*.py
+%if 0%{?with_python3}
 sed -i -e '1{\@^#!/usr/bin/env python@d}' %{buildroot}%{python3_sitelib}/%{srcname}/*.py
+%endif
 
 %check
 %{__python2} setup.py test

the build will succeed.

DLRN builds

dlrn has the following modifications:

diff --git a/projects.ini b/projects.ini
index c9f165d..a9b602d 100644
--- a/projects.ini
+++ b/projects.ini
@@ -1,7 +1,8 @@
 [DEFAULT]
 datadir=./data
 scriptsdir=./scripts
-baseurl=http://trunk.rdoproject.org/centos7/
+#baseurl=http://trunk.rdoproject.org/centos7/
+baseurl=http://127.0.0.1/openstack-pike/
 distro=rpm-master
 source=master
 target=centos
@@ -10,7 +11,7 @@ reponame=delorean
 templatedir=./dlrn/templates
 maxretries=3
 pkginfo_driver=dlrn.drivers.rdoinfo.RdoInfoDriver
-tags=
+tags=pike-uc
 #tags=mitaka
 rsyncdest=
 rsyncport=22
diff --git a/scripts/centos.cfg b/scripts/centos.cfg
index 9298f1a..7dc8d99 100644
--- a/scripts/centos.cfg
+++ b/scripts/centos.cfg
@@ -1,11 +1,24 @@
-config_opts['root'] = 'dlrn-centos7-x86_64'
-config_opts['target_arch'] = 'x86_64'
-config_opts['legal_host_arches'] = ('x86_64',)
+config_opts['root'] = 'dlrn-centos7-ppc64le'
+config_opts['target_arch'] = 'ppc64le'
+config_opts['legal_host_arches'] = ('ppc64le',)
 config_opts['chroot_setup_cmd'] = 'install basesystem rpm-build python2-devel gcc make python-sqlalchemy python-webob ghostscript g
 config_opts['dist'] = 'el7'  # only useful for --resultdir variable subst
 config_opts['releasever'] = '7'
 config_opts['plugin_conf']['ccache_enable'] = False
 config_opts['priorities.conf'] = """
+config_opts['nosync'] = True
+config_opts['plugin_conf']['root_cache_opts']['compress_program'] = ""
+config_opts['plugin_conf']['root_cache_opts']['extension'] = ""
+config_opts['plugin_conf']['tmpfs_enable'] = True
+config_opts['plugin_conf']['tmpfs_opts'] = {}
+config_opts['plugin_conf']['tmpfs_opts']['required_ram_mb'] = 1024
+config_opts['plugin_conf']['tmpfs_opts']['max_fs_size'] = '50g'
+config_opts['plugin_conf']['tmpfs_opts']['mode'] = '0755'
+config_opts['plugin_conf']['tmpfs_opts']['keep_mounted'] = False
+config_opts['macros']['%__gzip'] = '/usr/bin/pigz'
+config_opts['macros']['%__bzip2'] = '/usr/bin/lbzip2'
+config_opts['http_proxy'] = 'http://127.0.0.1:3128'
+
 [main]
 enabled = 1
 check_obsoletes = 1
@@ -29,23 +42,30 @@ syslog_device=
 
 [base]
 name=BaseOS
-mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os
+#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=ppc64le&repo=os
+baseurl=http://mirror.centos.org/altarch/$releasever/os/$basearch/
 failovermethod=priority
 gpgkey=file:///etc/pki/mock/RPM-GPG-KEY-CentOS-7
+       file:///etc/pki/mock/RPM-GPG-KEY-CentOS-SIG-AltArch-7-$basearch
 gpgcheck=1
 
 [updates]
 name=updates
 enabled=1
-mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=updates
+#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=ppc64le&repo=updates
+baseurl=http://mirror.centos.org/altarch/$releasever/updates/$basearch/
 failovermethod=priority
 gpgkey=file:///etc/pki/mock/RPM-GPG-KEY-CentOS-7
+       file:///etc/pki/mock/RPM-GPG-KEY-CentOS-SIG-AltArch-7-$basearch
 gpgcheck=1
 
 [extras]
 name=extras
-mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=extras
+#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=ppc64le&repo=extras
+baseurl=http://mirror.centos.org/altarch/$releasever/extras/$basearch/
 failovermethod=priority
 gpgkey=file:///etc/pki/mock/RPM-GPG-KEY-EPEL-7
+       file:///etc/pki/mock/RPM-GPG-KEY-CentOS-SIG-AltArch-7-$basearch
 gpgcheck=1
+exclude=python-greenlet
 """
[hamzy@pkvmci853 DLRN]$ cat << __EOF__ | sudo tee -a /var/www/html/openstack-pike/delorean-deps.repo
[cloud7_openstack_common_candidate]
name=cloud7_openstack_common_candidate
baseurl=https://cbs.centos.org/repos/cloud7-openstack-common-candidate/ppc64le/os/
enabled=1
gpgcheck=0
cost=1

[cloud7_openstack_common_testing]
name=cloud7_openstack_common_testing
baseurl=https://cbs.centos.org/repos/cloud7-openstack-common-testing/ppc64le/os/
enabled=1
gpgcheck=0
cost=2

[cloud7_openstack_common_release]
name=cloud7_openstack_common_release
baseurl=https://cbs.centos.org/repos/cloud7-openstack-common-release/ppc64le/os/
enabled=1
gpgcheck=0
cost=3

[openstack_pike_ppc64le]
name=openstack_pike_ppc64le
baseurl=https://buildlogs.centos.org/centos/7/cloud/ppc64le/openstack-pike/
enabled=1
gpgcheck=0
cost=4

[openstack_pike_x8664]
name=openstack_pike_x8664
baseurl=https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/
enabled=1
gpgcheck=0
cost=5

When dlrn builds a clean set of packages:

[hamzy@pkvmci853 ~]$ source ~/dlrn-venv/bin/activate
(dlrn-venv)[hamzy@pkvmci853 DLRN]$ rm -rf data/; /bin/rm commits.sqlite; dlrn --order --verbose-mock 2>&1 | tee output.dlrn

missing dlrn order packages

there are a couple of missing packages that are in cloud7-openstack-pike-xxx but are not built by dlrn:

python-psutil
openvswitch

python-openstackclient-3.11.0-0.20170720225953.c69304e

python-openstackclient-3.11.0-0.20170720225953.c69304e.el7.centos.src.rpm (https://github.com/openstack/python-openstackclient/commit/c69304e3d365dc2c67fab298eba0b9097d3819da)

has the following error during the build tests:

...
2017-07-20 19:02:22,741 INFO:dlrn-build:DEBUG: FAIL: openstackclient.tests.unit.integ.cli.test_shell.TestIntegShellCliPrecedenceOCC.test_shell_args_precedence_1
...
2017-07-20 19:02:22,748 INFO:dlrn-build:DEBUG: testtools.matchers._impl.MismatchError: 0 != 2
...

I believe that this problem has been fixed by the following defects:

- https://bugs.launchpad.net/os-client-config/+bug/1694937

 - https://trunk.rdoproject.org/centos7-master-head/d0/34/d034b980ab03bbd50d31ef8bd439bc80a91a7d77_b81ca2c8/rpmbuild.log

- https://bugs.launchpad.net/python-openstackclient/+bug/1703783

hacking dlrn

The following hack gets around the above two problems:

[hamzy@pkvmci853 DLRN]$ (DIR=/var/www/html/missing-openstack-pike; sudo /bin/rm -rf ${DIR}; sudo mkdir ${DIR}; cd ${DIR}; for URL in http://cbs.centos.org/kojifiles/packages/python-psutil/5.2.2/1.el7/ppc64le/python2-psutil-5.2.2-1.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/python-psutil/5.2.2/1.el7/ppc64le/python-psutil-debuginfo-5.2.2-1.el7.ppc64le.rpm https://trunk.rdoproject.org/centos7-master/current-passed-ci/python-openstackclient-3.11.0-0.20170613232431.c69304e.el7.centos.noarch.rpm https://trunk.rdoproject.org/centos7-master/current-passed-ci/python-openstackclient-doc-3.11.0-0.20170613232431.c69304e.el7.centos.noarch.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-devel-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-ovn-central-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-ovn-common-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-ovn-docker-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-ovn-host-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-ovn-vtep-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-debuginfo-2.7.2-3.1fc27.el7.ppc64le.rpm; do sudo wget --quiet ${URL}; done; sudo createrepo .; sudo chcon -R system_u:object_r:httpd_sys_content_t:s0 ${DIR})
[hamzy@pkvmci853 DLRN]$ sudo vi /var/www/html/openstack-pike/delorean-deps.repo
...
[missing_openstack_pike]
name=missing_openstack_pike
baseurl=http://127.0.0.1/missing-openstack-pike/
enabled=1
gpgcheck=0
cost=6
...

Another run of dlrn will complete with the following problems:

2017-07-21 19:16:58,557 ERROR:dlrn:Received exception Error in build_rpm_wrapper for python-openstackclient:
...
2017-07-22 05:41:33,615 INFO:dlrn-build:Error: Package: python2-pandas-0.19.1-2.el7.2.ppc64le (cloud7_openstack_common_release)
2017-07-22 05:41:33,615 INFO:dlrn-build:           Requires: python-tables
...
2017-07-22 05:41:33,646 ERROR:dlrn:Received exception Error in build_rpm_wrapper for openstack-gnocchi:
...
2017-07-22 11:35:31,164 INFO:dlrn-build:Getting requirements for openstack-tripleo-ui-7.1.1-0.20170722153456.3cb948f.el7.centos.src
...
2017-07-22 11:35:31,165 INFO:dlrn-build:Error: No Package found for openstack-tripleo-ui-deps >= 7
...
2017-07-22 11:35:31,210 ERROR:dlrn:Received exception Error in build_rpm_wrapper for openstack-tripleo-ui:
...
2017-07-22 11:56:17,740 INFO:dlrn-build:DEBUG: Error: Package: sympy-0.7.6-2.el7.noarch (cloud7_openstack_common_candidate)
2017-07-22 11:56:17,741 INFO:dlrn-build:DEBUG:            Requires: python-fastcache
...
2017-07-22 11:56:28,753 ERROR:dlrn:Received exception Error in build_rpm_wrapper for openstack-vitrage:
...
2017-07-22 12:56:37,528 INFO:dlrn-build:DEBUG: Error: Package: python2-pandas-0.19.1-2.el7.2.ppc64le (cloud7_openstack_common_candidate)
2017-07-22 12:56:37,528 INFO:dlrn-build:DEBUG:            Requires: python-tables
...
2017-07-22 12:56:50,478 ERROR:dlrn:Received exception Error in build_rpm_wrapper for python-hardware:
...