Browse code

Build java dependent packages for aarch64

Updated some packages to support aarch64.

Change-Id: I4ecf89ce6141116b209f4b69811156652f5678b5
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/4582
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Anish Swaminathan <anishs@vmware.com>

Alexey Makhalov authored on 2018/01/03 09:00:46
Showing 12 changed files
... ...
@@ -1,14 +1,14 @@
1 1
 Summary:	Programs for generating Makefiles
2 2
 Name:		automake
3
-Version:	1.15
4
-Release:	4%{?dist}
3
+Version:	1.15.1
4
+Release:	1%{?dist}
5 5
 License:	GPLv2+
6 6
 URL:		http://www.gnu.org/software/automake/
7 7
 Group:		System Environment/Base
8 8
 Vendor:		VMware, Inc.
9 9
 Distribution: 	Photon
10
-Source0:	http://ftp.gnu.org/gnu/automake/%{name}-%{version}.tar.gz
11
-%define sha1 automake=b5a840c7ec4321e78fdc9472e476263fa6614ca1
10
+Source0:	http://ftp.gnu.org/gnu/automake/%{name}-%{version}.tar.xz
11
+%define sha1 automake=45632d466c16ecf18d9c18dc4be883cde59acb59
12 12
 BuildRequires:	autoconf
13 13
 BuildArch:      noarch
14 14
 
... ...
@@ -42,6 +42,8 @@ make %{?_smp_mflags} check
42 42
 %{_defaultdocdir}/%{name}-%{version}/*
43 43
 %{_mandir}/*/*
44 44
 %changelog
45
+*	Tue Jan 02 2018 Alexey Makhalov <amakhalov@vmware.com> 1.15.1-1
46
+-	Version update
45 47
 *	Fri Aug 04 2017 Danut Moraru <dmoraru@vmware.com> 1.15-4
46 48
 -	Disable check that fails test case
47 49
 *	Tue Apr 25 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.15-3
... ...
@@ -1,14 +1,14 @@
1 1
 Summary:	Apache Commons Daemon
2 2
 Name:		commons-daemon
3
-Version:	1.0.15
4
-Release:	12%{?dist}
3
+Version:	1.1.0
4
+Release:	1%{?dist}
5 5
 License:	Apache
6 6
 URL:		http://commons.apache.org/proper/commons-daemon
7 7
 Group:		Applications/System
8 8
 Vendor:		VMware, Inc.
9 9
 Distribution: 	Photon
10
-Source0:	http://apache.mesi.com.ar//commons/daemon/source/commons-daemon-1.0.15-src.tar.gz
11
-%define sha1 commons-daemon=ca6a448d1d214f714e214b35809a2117568970e3
10
+Source0:	http://apache.mesi.com.ar//commons/daemon/source/commons-daemon-1.1.0-src.tar.gz
11
+%define sha1 commons-daemon=5a64221b8020d32c02bf44a115f8a95016d3c76e
12 12
 BuildRequires: openjre8
13 13
 BuildRequires: openjdk8
14 14
 BuildRequires: apache-ant
... ...
@@ -29,8 +29,14 @@ rm -rf %{buildroot}
29 29
 export JAVA_HOME=/usr/lib/jvm/OpenJDK-%{JAVA8_VERSION}
30 30
 ant dist
31 31
 
32
+%ifarch x86_64
32 33
 export CFLAGS=-m64
33 34
 export LDFLAGS=-m64
35
+%endif
36
+
37
+%ifarch aarch64
38
+sed -i 's/supported_os="aarch64"/supported_os="linux"/' src/native/unix/configure
39
+%endif
34 40
 
35 41
 CURDIR=`pwd`
36 42
 
... ...
@@ -56,6 +62,8 @@ chmod -R 755 $DIST_DIR
56 56
 %{_datadir}/java/*.jar
57 57
 
58 58
 %changelog
59
+*   Tue Dec 26 2017 Alexey Makhalov <amakhalov@vmware.com> 1.1.0-1
60
+-   Versio update to support aarch64
59 61
 *   Fri Oct 13 2017 Alexey Makhalov <amakhalov@vmware.com> 1.0.15-12
60 62
 -   Remove BuildArch
61 63
 *   Tue Jun 20 2017 Divya Thaluru <dthaluru@vmware.com> 1.0.15-11
... ...
@@ -4,7 +4,7 @@
4 4
 Name:           gobject-introspection
5 5
 Summary:        Introspection system for GObject-based libraries
6 6
 Version:        1.52.1
7
-Release:        4%{?dist}
7
+Release:        5%{?dist}
8 8
 Group:          Development/Libraries
9 9
 License:        GPLv2+, LGPLv2+, MIT
10 10
 URL:            http://live.gnome.org/GObjectIntrospection
... ...
@@ -69,6 +69,7 @@ Libraries and headers for gobject-introspection.
69 69
 %setup -q
70 70
 %patch0 -p1
71 71
 rm -rf ../p3dir
72
+autoreconf -fiv
72 73
 cp -a . ../p3dir
73 74
 
74 75
 %build
... ...
@@ -135,6 +136,8 @@ make  %{?_smp_mflags} check
135 135
 %doc %{_mandir}/man1/*.gz
136 136
 
137 137
 %changelog
138
+*   Tue Jan 02 2018 Alexey Makhalov <amakhalov@vmware.com> 1.52.1-5
139
+-   Add autoreconf to support automake-1.15.1
138 140
 *   Mon Aug 28 2017 Kumar Kaushik <kaushikk@vmware.com> 1.52.1-4
139 141
 -   Disabling make check for Regress-1.0.gir test, bug#1635886
140 142
 *   Wed Jun 07 2017 Xiaolin Li <xiaolinl@vmware.com> 1.52.1-3
141 143
new file mode 100644
... ...
@@ -0,0 +1,30 @@
0
+diff -Naur lightwave-1.3.1.7_orig/configure.ac lightwave-1.3.1.7/configure.ac
1
+--- lightwave-1.3.1.7_orig/configure.ac	2017-11-07 18:38:24.000000000 +0000
2
+@@ -21,7 +21,7 @@
3
+         PLATFORM_LIB_PREFIX=lib64
4
+         ;;
5
+     linux*:aarch64)
6
+-        PLATFORM_LIB_PREFIX=lib
7
++        PLATFORM_LIB_PREFIX=lib64
8
+         ;;
9
+     darwin*:x86_64)
10
+         PLATFORM_LIB_PREFIX=lib
11
+@@ -224,7 +224,7 @@
12
+     OPEN_SSL_DEFAULT_PATH=/opt/vmware/lib
13
+     ;;
14
+     linux*:aarch64)
15
+-    OPEN_SSL_DEFAULT_PATH=/opt/vmware/lib
16
++    OPEN_SSL_DEFAULT_PATH=/opt/vmware/lib64
17
+     ;;
18
+     *)
19
+     AC_ERROR("Unsupported operating system - ${host_os}:${host_cpu}")
20
+@@ -445,7 +445,7 @@
21
+     LIKEWISE_DEFAULT_PATH=$LW_BASE_PATH/lib
22
+     ;;
23
+     linux*:aarch64)
24
+-    LIKEWISE_DEFAULT_PATH=$LW_BASE_PATH/lib
25
++    LIKEWISE_DEFAULT_PATH=$LW_BASE_PATH/lib64
26
+     ;;
27
+     *)
28
+     AC_ERROR("Unsupported operating system - ${host_os}:${host_cpu}")
... ...
@@ -1,13 +1,14 @@
1 1
 Name:          lightwave
2 2
 Summary:       VMware Lightwave
3 3
 Version:       1.3.1.7
4
-Release:       1%{?dist}
4
+Release:       2%{?dist}
5 5
 License:       Apache 2.0
6 6
 Group:         Applications/System
7 7
 Vendor:        VMware, Inc.
8 8
 URL: 	       https://github.com/vmware/lightwave
9 9
 Source0:       lightwave-%{version}.tar.gz
10 10
 Patch0:        lightwave-gssapi-unix-creds-separation.patch
11
+Patch1:        lightwave-aarch64-support.patch
11 12
 %define sha1 lightwave=abe987b67aadab05040ac38c11474b8d93fe8644
12 13
 Distribution:  Photon
13 14
 
... ...
@@ -126,6 +127,7 @@ Lightwave POST service
126 126
 %prep
127 127
 %setup -qn lightwave-%{version}
128 128
 %patch0 -p1
129
+%patch1 -p1
129 130
 sed -i 's|/opt/vmware/bin/certool|/usr/bin/certool|' vmidentity/install/src/main/java/com/vmware/identity/configure/LinuxInstallerHelper.java
130 131
 sed -i 's/VMIDENTITY_LIB_DIR=\/opt\/vmware\/lib64/VMIDENTITY_LIB_DIR=\/usr\/jars/' vmidentity/websso/src/main/resources/sso-config.sh
131 132
 sed -i 's,/opt/vmware/bin/ic-join,/usr/bin/ic-join,' config/scripts/domainjoin.sh
... ...
@@ -1141,6 +1143,8 @@ fi
1141 1141
 # %doc ChangeLog README COPYING
1142 1142
 
1143 1143
 %changelog
1144
+*   Tue Dec 26 2017 Alexey Makhalov <amakhalov@vmware.com> 1.3.1.7-2
1145
+-   Aarch64 support
1144 1146
 *   Thu Nov 23 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.3.1.7-1
1145 1147
 -   update to lightwave 1.3.1.7 (release 1.3.1-7 in lightwave repo)
1146 1148
 *   Mon Sep 25 2017 Alexey Makhalov <amakhalov@vmware.com> 1.3.1-5
1147 1149
deleted file mode 100644
... ...
@@ -1,22 +0,0 @@
1
-diff -Naur mesos-1.1.0.orig/src/linux/fs.cpp mesos-1.1.0/src/linux/fs.cpp
2
-+++ mesos-1.1.0/src/linux/fs.cpp	2017-03-24 23:17:15.332465310 -0700
3
-@@ -17,6 +17,7 @@
4
- #include <errno.h>
5
- #include <stdio.h>
6
- #include <string.h>
7
-+#include <sys/sysmacros.h>
8
- 
9
- #include <linux/limits.h>
10
- #include <linux/unistd.h>
11
-diff -Naur mesos-1.1.0.orig/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp mesos-1.1.0/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp
12
-+++ mesos-1.1.0/src/slave/containerizer/mesos/isolators/gpu/isolator.cpp	2017-03-25 00:12:23.657869169 -0700
13
-@@ -15,6 +15,7 @@
14
- // limitations under the License.
15
- 
16
- #include <stdint.h>
17
-+#include <sys/sysmacros.h>
18
- 
19
- #include <algorithm>
20
- #include <list>
... ...
@@ -2,7 +2,7 @@
2 2
 
3 3
 Summary:        Mesos
4 4
 Name:           mesos
5
-Version:        1.2.2
5
+Version:        1.4.1
6 6
 Release:        1%{?dist}
7 7
 License:        Apache
8 8
 URL:            http://mesos.apache.org
... ...
@@ -10,8 +10,7 @@ Group:          Applications/System
10 10
 Vendor:         VMware, Inc.
11 11
 Distribution:   Photon
12 12
 Source0:        http://www.apache.org/dist/%{name}/%{version}/%{name}-%{version}.tar.gz
13
-%define sha1    mesos=bbcec6f04bb629a16a5ea24a8cde3f3e9f75300e
14
-Patch0:         mesos-sysmacros.patch
13
+%define sha1    mesos=5a194b3ea8e1a6c30269e9e88c204ba7bfca07e5
15 14
 BuildRequires:  openjre8 >= 1.8.0.45
16 15
 BuildRequires:  openjdk8 >= 1.8.0.45
17 16
 BuildRequires:  curl-devel
... ...
@@ -51,21 +50,15 @@ Requires:   %{name} = %{version}
51 51
 
52 52
 %prep
53 53
 %setup -q
54
-%patch0 -p1
55 54
 
56 55
 %build
57 56
 sed -i 's/gzip -d -c $^ | tar xf -/tar --no-same-owner -xf $^/' 3rdparty/Makefile.am
58 57
 sed -i 's/gzip -d -c $^ | tar xf -/tar --no-same-owner -xf $^/' 3rdparty/libprocess/3rdparty/Makefile.am
59
-sed -i "/xlocale.h/d" 3rdparty/stout/include/stout/jsonify.hpp
60 58
 
61
-./configure \
59
+%configure \
62 60
     CFLAGS="%{optflags} -Wno-deprecated-declarations"  \
63 61
     CXXFLAGS="%{optflags} -Wno-deprecated-declarations -Wno-strict-aliasing" \
64
-    --disable-silent-rules \
65
-    --prefix=%{_prefix} \
66
-    --bindir=%{_bindir} \
67
-    --libdir=%{_libdir} \
68
-    --sysconfdir=%{_sysconfdir}
62
+    --disable-silent-rules
69 63
 make %{?_smp_mflags}
70 64
 
71 65
 #%check
... ...
@@ -105,7 +98,9 @@ find %{buildroot}%{_libdir} -name '*.la' -delete
105 105
 %exclude %{_libdir}/debug/
106 106
 
107 107
 %changelog
108
-*   Tue Oct 11 2017 Dheeraj Shetty <dheerajs@vmware.com> 1.2.2-1
108
+*   Tue Jan 02 2018 Alexey Makhalov <amakhalov@vmware.com> 1.4.1-1
109
+-   Version update. Aarch64 support
110
+*   Wed Oct 11 2017 Dheeraj Shetty <dheerajs@vmware.com> 1.2.2-1
109 111
 -   Updated to version 1.2.2
110 112
 *   Mon Oct 02 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.2.0-7
111 113
 -   Use multiple cores to build mesos.
... ...
@@ -129,7 +124,7 @@ find %{buildroot}%{_libdir} -name '*.la' -delete
129 129
 -   BuildRequires curl-devel.
130 130
 *   Tue Dec 13 2016 Xiaolin Li <xiaolinl@vmware.com> 1.1.0-1
131 131
 -   Updated to version 1.1.0
132
-*   Wed Nov 16 2016 Alexey Makhalov <ppadmavilasom@vmware.com> 0.28.2-3
132
+*   Wed Nov 16 2016 Alexey Makhalov <amakhalov@vmware.com> 0.28.2-3
133 133
 -   Use sqlite-{devel,libs}
134 134
 *   Mon Oct 03 2016 ChangLee <changlee@vmware.com> 0.28.2-2
135 135
 -   Modified check
... ...
@@ -3,16 +3,15 @@
3 3
 %{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
4 4
 Summary:        PyInstaller bundles a Python application and all its dependencies into a single package.
5 5
 Name:           python-pyinstaller
6
-Version:        3.2.1
7
-Release:        2%{?dist}
8
-Url:            https://pypi.python.org/pypi/PyInstaller/3.2.1
6
+Version:        3.3.1
7
+Release:        1%{?dist}
8
+Url:            https://pypi.python.org/pypi/PyInstaller/3.3.1
9 9
 License:        GPLv2+
10 10
 Group:          Development/Languages/Python
11 11
 Vendor:         VMware, Inc.
12 12
 Distribution:   Photon
13
-Source0:        https://files.pythonhosted.org/packages/source/P/PyInstaller/PyInstaller-%{version}.tar.bz2
14
-%define sha1    PyInstaller=6e8bc52d325a5527402ad574f774ed64c70bf03f
15
-Patch0:         python2-unit-tests.patch
13
+Source0:        https://files.pythonhosted.org/packages/source/P/PyInstaller/PyInstaller-%{version}.tar.gz
14
+%define sha1    PyInstaller=578324d2dfb4edbfca34903dbde404c95a211663
16 15
 BuildRequires:  python2
17 16
 BuildRequires:  python2-libs
18 17
 BuildRequires:  python2-devel
... ...
@@ -58,9 +57,12 @@ Python 3 version.
58 58
 
59 59
 rm -rf ../p3dir
60 60
 cp -a . ../p3dir
61
-%patch0 -p1
62 61
 
63 62
 %build
63
+pushd bootloader
64
+python ./waf distclean all
65
+popd
66
+
64 67
 python2 setup.py build
65 68
 pushd ../p3dir
66 69
 python3 setup.py build
... ...
@@ -79,7 +81,6 @@ mv %{buildroot}/%{_bindir}/pyinstaller        %{buildroot}/%{_bindir}/pyinstalle
79 79
 popd
80 80
 python2 setup.py install --single-version-externally-managed -O1 --root=%{buildroot}
81 81
 
82
-
83 82
 %check
84 83
 # future is required for python2 make check
85 84
 pip2 install -U future
... ...
@@ -110,6 +111,9 @@ LANG=en_US.UTF-8 py.test2 tests/unit tests/functional \
110 110
 %{_bindir}/pyinstaller3
111 111
 %exclude %{python2_sitelib}/PyInstaller/bootloader/Darwin-64bit
112 112
 %exclude %{python2_sitelib}/PyInstaller/bootloader/Linux-32bit
113
+%ifarch aarch64
114
+%exclude %{python2_sitelib}/PyInstaller/bootloader/Linux-64bit
115
+%endif
113 116
 %exclude %{python2_sitelib}/PyInstaller/bootloader/Windows-32bit
114 117
 %exclude %{python2_sitelib}/PyInstaller/bootloader/Windows-64bit
115 118
 
... ...
@@ -119,10 +123,15 @@ LANG=en_US.UTF-8 py.test2 tests/unit tests/functional \
119 119
 %{python3_sitelib}/*
120 120
 %exclude %{python3_sitelib}/PyInstaller/bootloader/Darwin-64bit
121 121
 %exclude %{python3_sitelib}/PyInstaller/bootloader/Linux-32bit
122
+%ifarch aarch64
123
+%exclude %{python3_sitelib}/PyInstaller/bootloader/Linux-64bit
124
+%endif
122 125
 %exclude %{python3_sitelib}/PyInstaller/bootloader/Windows-32bit
123 126
 %exclude %{python3_sitelib}/PyInstaller/bootloader/Windows-64bit
124 127
 
125 128
 %changelog
129
+*   Tue Jan 02 2018 Alexey Makhalov <amakhalov@vmware.com> 3.3.1-1
130
+-   Version update. Build bootloader from sources
126 131
 *   Mon Sep 25 2017 Bo Gan <ganb@vmware.com> 3.2.1-2
127 132
 -   Fix make check issues.
128 133
 *   Tue Feb 14 2017 Xiaolin Li <xiaolinl@vmware.com> 3.2.1-1
129 134
deleted file mode 100644
... ...
@@ -1,27 +0,0 @@
1
-diff --git a/tests/unit/test_hookutils.py b/tests/unit/test_hookutils.py
2
-index a33f5e5..f8908e7
3
-+++ b/tests/unit/test_hookutils.py
4
-@@ -13,7 +13,7 @@ import pytest
5
- import shutil
6
- from os.path import join
7
- from threading import Thread
8
--from queue import Queue
9
-+from multiprocessing import Queue
10
- 
11
- from PyInstaller.utils.hooks import collect_data_files, collect_submodules, \
12
-   get_module_file_attribute, remove_prefix, remove_suffix, \
13
-
14
-diff --git a/tests/unit/test_loader.py b/tests/unit/test_loader.py 
15
-index 67ad04b..127d9ec
16
-+++ b/tests/unit/test_loader.py
17
-@@ -10,7 +10,7 @@
18
- 
19
- import pytest
20
- from threading import Thread
21
--from queue import Queue
22
-+from multiprocessing import Queue
23
- 
24
- from PyInstaller.loader.pyimod02_archive import ArchiveFile
25
- 
... ...
@@ -11,8 +11,6 @@
11 11
     "public_key":"<ssh-key-here>",
12 12
     "postinstallscripts": ["rpi3-custom-patch.sh"],
13 13
     "additionalfiles": [
14
-                            {"root/boot/grub2/arm64-efi": "/boot/grub2/arm64-efi"},
15
-                            {"root/boot/dtb-4.4.36-8": "/boot/dtb"},
16 14
                             {"photon-dev.repo": "/etc/yum.repos.d/photon-dev.repo"},
17 15
                             {"resizefs.sh": "/usr/local/bin/resizefs.sh"},
18 16
                             {"resizefs.service": "/lib/systemd/system/resizefs.service"}
... ...
@@ -243,8 +243,10 @@ class SPECS(object):
243 243
         #adding openjre8 version rpm macro
244 244
         if (platform.machine() == "x86_64"):
245 245
             spec = Specutils(constants.specPath + "/openjdk8/openjdk8.spec")
246
-            java8version = spec.getVersion()
247
-            constants.addMacro("JAVA8_VERSION",java8version)
246
+        else:
247
+            spec = Specutils(constants.specPath + "/openjdk8/openjdk8_aarch64.spec")
248
+        java8version = spec.getVersion()
249
+        constants.addMacro("JAVA8_VERSION",java8version)
248 250
 
249 251
         #adding kernelversion rpm macro
250 252
         spec = Specutils(constants.specPath + "/linux/linux.spec")
... ...
@@ -372,33 +372,12 @@ class constants(object):
372 372
             "mysql.spec",
373 373
             # irqbalance for arm64 ?
374 374
             "irqbalance.spec",
375
-            # no X rpms to build openjdk, skip all java packages
375
+            # openjdk8.spec is for x86_64 arch
376 376
             "openjdk8.spec",
377
-            "ant-contrib.spec",
378
-            "apache-ant.spec",
379
-            "apache-maven.spec",
380
-            "apache-tomcat.spec",
381
-            "cassandra.spec",
382
-            "commons-daemon.spec",
383
-            "jna.spec",
377
+            # dashboard failed to build libxslt during `npm install`
384 378
             "kubernetes-dashboard.spec",
385
-            "lightwave.spec",
386
-            "mesos.spec",
387
-            "protobuf.spec",
379
+            # test issue (java null pointer exception) before compilation
388 380
             "wavefront-proxy.spec",
389
-            "zookeeper.spec",
390
-            # requires lightwave
391
-            "pmd.spec",
392
-            # requires protobuf
393
-            "calico-felix.spec",
394
-            "lightstep-tracer-cpp.spec",
395
-            "protobuf-c.spec",
396
-            "runc.spec",
397
-            # requires cassandra
398
-            "python-cqlsh.spec",
399
-            # requires python-pyinstaller, but it has unresolved glibc deps
400
-            "calico-k8s-policy.spec",
401
-            "libcalico.spec",
402 381
             # pcstat requires patching for aarch64
403 382
             "pcstat.spec",
404 383
             # sysdig for aarch64 requires luajit, skip it and falco