Changes includes Kibana, Elasticsearch pkg and as it depends on openjdk10 and
openjdk10 depends on openjdk9. So raising a review for all three packages.
Change-Id: Ib0790ce69cbe3a06c0a5cd4423533f30893d1a0d
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/5385
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
| ... | ... |
@@ -58,6 +58,18 @@ ifdef KAT_BUILD |
| 58 | 58 |
PHOTON_KAT_BUILD_FLAGS := -F $(KAT_BUILD) |
| 59 | 59 |
endif |
| 60 | 60 |
|
| 61 |
+ifeq ($(BUILDDEPS),true) |
|
| 62 |
+PUBLISH_BUILD_DEPENDENCIES := -D True |
|
| 63 |
+else |
|
| 64 |
+PUBLISH_BUILD_DEPENDENCIES := |
|
| 65 |
+endif |
|
| 66 |
+ |
|
| 67 |
+ifdef WEIGHTS |
|
| 68 |
+PACKAGE_WEIGHTS_PATH = -W $(WEIGHTS) |
|
| 69 |
+else |
|
| 70 |
+PACKAGE_WEIGHTS_PATH = |
|
| 71 |
+endif |
|
| 72 |
+ |
|
| 61 | 73 |
TOOLS_BIN := $(SRCROOT)/tools/bin |
| 62 | 74 |
CONTAIN := $(TOOLS_BIN)/contain |
| 63 | 75 |
VIXDISKUTIL := $(TOOLS_BIN)/vixdiskutil |
| ... | ... |
@@ -106,6 +118,8 @@ packages-micro: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) g |
| 106 | 106 |
-n $(PHOTON_BUILD_NUMBER) \ |
| 107 | 107 |
-v $(PHOTON_RELEASE_VERSION) \ |
| 108 | 108 |
$(PHOTON_RPMCHECK_OPTION) \ |
| 109 |
+ $(PUBLISH_BUILD_DEPENDENCIES) \ |
|
| 110 |
+ $(PACKAGE_WEIGHTS_PATH) \ |
|
| 109 | 111 |
-t ${THREADS}
|
| 110 | 112 |
|
| 111 | 113 |
minimal: minimal-iso |
| ... | ... |
@@ -175,6 +189,8 @@ packages-minimal: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) |
| 175 | 175 |
-n $(PHOTON_BUILD_NUMBER) \ |
| 176 | 176 |
-v $(PHOTON_RELEASE_VERSION) \ |
| 177 | 177 |
$(PHOTON_RPMCHECK_OPTION) \ |
| 178 |
+ $(PUBLISH_BUILD_DEPENDENCIES) \ |
|
| 179 |
+ $(PACKAGE_WEIGHTS_PATH) \ |
|
| 178 | 180 |
-t ${THREADS}
|
| 179 | 181 |
|
| 180 | 182 |
iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES) ostree-repo |
| ... | ... |
@@ -259,8 +275,11 @@ packages: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_XRPMS) $(PHOTON_PUBLISH_RPMS) $ |
| 259 | 259 |
-g $(PHOTON_DATA_DIR)/pkg_build_options.json \ |
| 260 | 260 |
$(PHOTON_KAT_BUILD_FLAGS) \ |
| 261 | 261 |
$(PHOTON_RPMCHECK_OPTION) \ |
| 262 |
+ $(PUBLISH_BUILD_DEPENDENCIES) \ |
|
| 263 |
+ $(PACKAGE_WEIGHTS_PATH) \ |
|
| 262 | 264 |
-t ${THREADS}
|
| 263 | 265 |
|
| 266 |
+ |
|
| 264 | 267 |
updated-packages: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_XRPMS) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) generate-dep-lists |
| 265 | 268 |
@echo "Building only updated RPMS..." |
| 266 | 269 |
@cd $(PHOTON_PKG_BUILDER_DIR) && \ |
| ... | ... |
@@ -279,6 +298,8 @@ updated-packages: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_XRPMS) $(PHOTON_PUBLISH |
| 279 | 279 |
-k $(PHOTON_INPUT_RPMS_DIR) \ |
| 280 | 280 |
$(PHOTON_KAT_BUILD_FLAGS) \ |
| 281 | 281 |
$(PHOTON_RPMCHECK_OPTION) \ |
| 282 |
+ $(PUBLISH_BUILD_DEPENDENCIES) \ |
|
| 283 |
+ $(PACKAGE_WEIGHTS_PATH) \ |
|
| 282 | 284 |
-t ${THREADS}
|
| 283 | 285 |
|
| 284 | 286 |
tool-chain-stage1: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) generate-dep-lists |
| 285 | 287 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,117 @@ |
| 0 |
+Summary: Elastic Serch |
|
| 1 |
+Name: elasticsearch |
|
| 2 |
+Version: 6.3.0 |
|
| 3 |
+Release: 1%{?dist}
|
|
| 4 |
+License: Apache License Version 2.0 |
|
| 5 |
+URL: https://artifacts.elastic.co/downloads/elasticsearch/%{name}-%{version}.tar.gz
|
|
| 6 |
+Source0: %{name}-%{version}.tar.gz
|
|
| 7 |
+%define sha1 %{name}-%{version}.tar.gz=3f356bf80bd31c0107622cf7213d0ee9f43536d8
|
|
| 8 |
+Source1: cacerts |
|
| 9 |
+%define sha1 cacerts=f584c7c1f48c552f39acfb5560a300a657d9f3bb |
|
| 10 |
+Group: Development/Daemons |
|
| 11 |
+Vendor: VMware, Inc. |
|
| 12 |
+Distribution: Photon |
|
| 13 |
+BuildRequires: openjdk10 |
|
| 14 |
+BuildRequires: unzip |
|
| 15 |
+BuildRequires: curl |
|
| 16 |
+BuildRequires: which |
|
| 17 |
+BuildRequires: git |
|
| 18 |
+BuildRequires: make |
|
| 19 |
+BuildRequires: automake |
|
| 20 |
+BuildRequires: autoconf |
|
| 21 |
+BuildRequires: libtool |
|
| 22 |
+BuildRequires: tar |
|
| 23 |
+BuildRequires: wget |
|
| 24 |
+BuildRequires: patch |
|
| 25 |
+BuildRequires: texinfo |
|
| 26 |
+Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd |
|
| 27 |
+Requires(postun):/usr/sbin/userdel /usr/sbin/groupdel |
|
| 28 |
+ |
|
| 29 |
+%description |
|
| 30 |
+Elasticsearch is a highly distributed RESTful search engine built for the cloud. |
|
| 31 |
+ |
|
| 32 |
+%define debug_package %{nil}
|
|
| 33 |
+ |
|
| 34 |
+%prep |
|
| 35 |
+%setup -qn %{name}-%{version}
|
|
| 36 |
+ |
|
| 37 |
+%build |
|
| 38 |
+export LANG="en_US.UTF-8" |
|
| 39 |
+export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" |
|
| 40 |
+export JAVA_HOME=/usr/lib/jvm/OpenJDK-1.10.0.23 |
|
| 41 |
+export PATH=$JAVA_HOME/bin:$PATH |
|
| 42 |
+export _JAVA_OPTIONS="-Xmx10g" |
|
| 43 |
+cp %{SOURCE1} /usr/lib/jvm/OpenJDK-1.10.0.23/lib/security/
|
|
| 44 |
+./gradlew assemble |
|
| 45 |
+ |
|
| 46 |
+%install |
|
| 47 |
+rm -rf %{buildroot}
|
|
| 48 |
+mkdir -p %{buildroot}%{_datadir}/%{name}
|
|
| 49 |
+mkdir -p %{buildroot}/etc/%{name}
|
|
| 50 |
+mkdir -p %{buildroot}/usr/lib/sysctl.d/
|
|
| 51 |
+mkdir -p %{buildroot}/usr/lib/systemd/system/
|
|
| 52 |
+mkdir -p %{buildroot}/usr/lib/tmpfiles.d/
|
|
| 53 |
+mkdir -p %{buildroot}/etc/init.d/elasticsearch
|
|
| 54 |
+mkdir -p %{buildroot}/etc/sysconfig/elasticsearch
|
|
| 55 |
+mkdir -p %{buildroot}/var/lib/elasticsearch
|
|
| 56 |
+mkdir -p %{buildroot}/var/log/elasticsearch
|
|
| 57 |
+mkdir -p %{buildroot}/var/run/elasticsearch
|
|
| 58 |
+ |
|
| 59 |
+ |
|
| 60 |
+tar -xvf distribution/archives/oss-tar/build/distributions/elasticsearch-oss-6.3.0-SNAPSHOT.tar.gz |
|
| 61 |
+cp elasticsearch-6.3.0-SNAPSHOT/LICENSE.txt %{buildroot}%{_datadir}/%{name}/
|
|
| 62 |
+cp elasticsearch-6.3.0-SNAPSHOT/NOTICE.txt %{buildroot}%{_datadir}/%{name}/
|
|
| 63 |
+cp elasticsearch-6.3.0-SNAPSHOT/README.textile %{buildroot}%{_datadir}/%{name}/
|
|
| 64 |
+cp -r elasticsearch-6.3.0-SNAPSHOT/* %{buildroot}%{_datadir}/%{name}/
|
|
| 65 |
+cp distribution/packages/build/packaging/oss-rpm/systemd/sysctl/elasticsearch.conf %{buildroot}/usr/lib/sysctl.d/
|
|
| 66 |
+cp distribution/packages/build/packaging/oss-rpm/systemd/elasticsearch.service %{buildroot}/usr/lib/systemd/system/
|
|
| 67 |
+cp distribution/packages/build/packaging/oss-rpm/systemd/elasticsearch.conf %{buildroot}/usr/lib/tmpfiles.d/
|
|
| 68 |
+cp elasticsearch-6.3.0-SNAPSHOT/config/log4j2.properties %{buildroot}/etc/%{name}/
|
|
| 69 |
+cp elasticsearch-6.3.0-SNAPSHOT/config/jvm.options %{buildroot}/etc/%{name}/
|
|
| 70 |
+ |
|
| 71 |
+chmod 755 %{buildroot}%{_datadir}/%{name}/
|
|
| 72 |
+chmod 755 %{buildroot}/etc/%{name}/
|
|
| 73 |
+chmod 755 %{buildroot}/var/log/%{name}/
|
|
| 74 |
+ |
|
| 75 |
+%pre |
|
| 76 |
+ |
|
| 77 |
+getent group elasticsearch >/dev/null || /usr/sbin/groupadd -r elasticsearch |
|
| 78 |
+getent passwd elasticsearch >/dev/null || /usr/sbin/useradd --comment "ElasticSearch" --shell /bin/bash -M -r --groups elasticsearch --home /usr/share/elasticsearch elasticsearch |
|
| 79 |
+ |
|
| 80 |
+ |
|
| 81 |
+%post |
|
| 82 |
+%{_sbindir}/ldconfig
|
|
| 83 |
+%systemd_post elasticsearch.service |
|
| 84 |
+ |
|
| 85 |
+%preun |
|
| 86 |
+%systemd_preun elasticsearch.service |
|
| 87 |
+ |
|
| 88 |
+%postun |
|
| 89 |
+%systemd_postun_with_restart elasticsearch.service |
|
| 90 |
+if [ $1 -eq 0 ] ; then |
|
| 91 |
+ /usr/sbin/userdel elasticsearch |
|
| 92 |
+ /usr/sbin/groupdel elasticsearch |
|
| 93 |
+fi |
|
| 94 |
+/sbin/ldconfig |
|
| 95 |
+ |
|
| 96 |
+ |
|
| 97 |
+%check |
|
| 98 |
+ |
|
| 99 |
+%clean |
|
| 100 |
+rm -rf %{buildroot}/*
|
|
| 101 |
+ |
|
| 102 |
+%files |
|
| 103 |
+%defattr(-,root,root) |
|
| 104 |
+%attr(755,elasticsearch,elasticsearch) /var/log/elasticsearch |
|
| 105 |
+%attr(755,elasticsearch,elasticsearch) /usr/share/elasticsearch |
|
| 106 |
+%attr(755,elasticsearch,elasticsearch) /usr/share/elasticsearch/logs |
|
| 107 |
+%dir %{_datadir}/%{name}
|
|
| 108 |
+%{_datadir}/%{name}
|
|
| 109 |
+%attr(755,elasticsearch,elasticsearch) /etc/%{name}
|
|
| 110 |
+%attr(755,elasticsearch,elasticsearch) /usr/lib/systemd/system/elasticsearch.service |
|
| 111 |
+%attr(755,elasticsearch,elasticsearch) /usr/lib/sysctl.d/elasticsearch.conf |
|
| 112 |
+%attr(755,elasticsearch,elasticsearch) /usr/lib/tmpfiles.d/elasticsearch.conf |
|
| 113 |
+ |
|
| 114 |
+%changelog |
|
| 115 |
+* Mon Jul 09 2018 Tapas Kundu <tkundu@vmware.com> 6.3.0-1 |
|
| 116 |
+- Initial build added for Photon. |
| 0 | 117 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,118 @@ |
| 0 |
+Name: kibana |
|
| 1 |
+Summary: Browser-based analytics and search dashboard for Elasticsearch. |
|
| 2 |
+Version: 6.3.0 |
|
| 3 |
+Release: 1%{?dist}
|
|
| 4 |
+License: Apache License Version 2.0 |
|
| 5 |
+URL: https://www.elastic.co/products/kibana |
|
| 6 |
+Source0: https://github.com/elastic/kibana/archive/%{name}-%{version}.tar.gz
|
|
| 7 |
+Vendor: VMware, Inc. |
|
| 8 |
+Distribution: Photon |
|
| 9 |
+Group: System Environment/Daemons |
|
| 10 |
+%define sha1 kibana=03a404b8c74cb52bd893247631386112fb1f8a11 |
|
| 11 |
+BuildRequires: git |
|
| 12 |
+BuildRequires: yarn |
|
| 13 |
+BuildRequires: nodejs |
|
| 14 |
+BuildRequires: zip |
|
| 15 |
+BuildRequires: photon-release |
|
| 16 |
+BuildRequires: systemd |
|
| 17 |
+Requires: systemd |
|
| 18 |
+Requires: nodejs |
|
| 19 |
+Requires: elasticsearch |
|
| 20 |
+ |
|
| 21 |
+%global debug_package %{nil}
|
|
| 22 |
+ |
|
| 23 |
+%description |
|
| 24 |
+Kibana is a window into the Elastic Stack. |
|
| 25 |
+It enables visual exploration and real-time analysis of your data in Elasticsearch. |
|
| 26 |
+ |
|
| 27 |
+%prep |
|
| 28 |
+%setup -q -n %{name}-%{version}
|
|
| 29 |
+yarn kbn bootstrap |
|
| 30 |
+ |
|
| 31 |
+%build |
|
| 32 |
+export PATH=${PATH}:/usr/bin
|
|
| 33 |
+yarn build --skip-os-packages |
|
| 34 |
+ |
|
| 35 |
+%install |
|
| 36 |
+mkdir -p %{buildroot}%{_datadir}/%{name}
|
|
| 37 |
+cp -r build/kibana-oss/LICENSE.txt %{buildroot}%{_datadir}/%{name}
|
|
| 38 |
+cp -r build/kibana-oss/README.txt %{buildroot}%{_datadir}/%{name}
|
|
| 39 |
+cp -r build/kibana-oss/NOTICE.txt %{buildroot}%{_datadir}/%{name}
|
|
| 40 |
+cp -r build/kibana-oss/package.json %{buildroot}%{_datadir}/%{name}
|
|
| 41 |
+cp -r build/kibana-oss/plugins %{buildroot}%{_datadir}/%{name}
|
|
| 42 |
+cp -r build/kibana-oss/bin %{buildroot}%{_datadir}/%{name}
|
|
| 43 |
+cp -r build/kibana-oss/src %{buildroot}%{_datadir}/%{name}
|
|
| 44 |
+cp -r build/kibana-oss/node_modules %{buildroot}%{_datadir}/%{name}
|
|
| 45 |
+cp -r build/kibana-oss/webpackShims %{buildroot}%{_datadir}/%{name}
|
|
| 46 |
+cp -r build/kibana-oss/yarn.lock %{buildroot}%{_datadir}/%{name}
|
|
| 47 |
+cp -r build/kibana-oss/optimize %{buildroot}%{_datadir}/%{name}
|
|
| 48 |
+ |
|
| 49 |
+chmod -R 755 %{buildroot}%{_datadir}/%{name}
|
|
| 50 |
+ |
|
| 51 |
+install -vdm 755 %{buildroot}%{_sharedstatedir}/%{name}
|
|
| 52 |
+ |
|
| 53 |
+mkdir -p %{buildroot}%{_sysconfdir}/default
|
|
| 54 |
+install -D -m 644 src/dev/build/tasks/os_packages/service_templates/sysv/etc/default/kibana %{buildroot}%{_sysconfdir}/default
|
|
| 55 |
+ |
|
| 56 |
+mkdir -p %{buildroot}%{_sysconfdir}/systemd/system
|
|
| 57 |
+install -D -m 644 src/dev/build/tasks/os_packages/service_templates/systemd/etc/systemd/system/kibana.service %{buildroot}%{_sysconfdir}/systemd/system
|
|
| 58 |
+ |
|
| 59 |
+mkdir -p %{buildroot}%{_sysconfdir}/%{name}
|
|
| 60 |
+install -D -m 644 config/%{name}.yml %{buildroot}%{_sysconfdir}/%{name}
|
|
| 61 |
+ |
|
| 62 |
+mkdir -p %{buildroot}%{_sysconfdir}/init.d
|
|
| 63 |
+install -D -m 644 src/dev/build/tasks/os_packages/service_templates/sysv/etc/init.d/%{name} %{buildroot}%{_sysconfdir}/init.d
|
|
| 64 |
+ |
|
| 65 |
+rm -rf %{buildroot}%{_datadir}/%{name}/node_modules/clipboardy
|
|
| 66 |
+ |
|
| 67 |
+%pre -p /bin/sh |
|
| 68 |
+if ! getent group %{name} >/dev/null; then
|
|
| 69 |
+ groupadd -r %{name}
|
|
| 70 |
+fi |
|
| 71 |
+if ! getent passwd %{name} >/dev/null; then
|
|
| 72 |
+ useradd -r -g %{name} -d /var/lib/%{name} -s /sbin/nologin -c "Kibana User" %{name}
|
|
| 73 |
+fi |
|
| 74 |
+exit 0 |
|
| 75 |
+ |
|
| 76 |
+ |
|
| 77 |
+%post |
|
| 78 |
+/sbin/ldconfig |
|
| 79 |
+chown -R kibana:kibana /var/lib/kibana |
|
| 80 |
+chown -R kibana:kibana /usr/share/kibana |
|
| 81 |
+%systemd_post %{name}.service
|
|
| 82 |
+ |
|
| 83 |
+%preun |
|
| 84 |
+/sbin/ldconfig |
|
| 85 |
+%systemd_preun %{name}.service
|
|
| 86 |
+ |
|
| 87 |
+%postun -p /bin/sh |
|
| 88 |
+%systemd_postun_with_restart %{name}.service
|
|
| 89 |
+if [ $1 -eq 0 ] ; then |
|
| 90 |
+ getent passwd kibana > /dev/null |
|
| 91 |
+ if [ "$?" == "0" ] ; then |
|
| 92 |
+ userdel %{name}
|
|
| 93 |
+ fi |
|
| 94 |
+ getent group kibana >/dev/null |
|
| 95 |
+ if [ "$?" == "0" ] ; then |
|
| 96 |
+ groupdel %{name}
|
|
| 97 |
+ fi |
|
| 98 |
+fi |
|
| 99 |
+exit |
|
| 100 |
+ |
|
| 101 |
+%files |
|
| 102 |
+%defattr(-,root,root,-) |
|
| 103 |
+%dir %{_sharedstatedir}/%{name}
|
|
| 104 |
+%doc %{_datadir}/%{name}/LICENSE.txt
|
|
| 105 |
+%doc %{_datadir}/%{name}/README.txt
|
|
| 106 |
+%{_sysconfdir}/systemd/system/%{name}.service
|
|
| 107 |
+%{_sysconfdir}/default/%{name}
|
|
| 108 |
+%{_sysconfdir}/init.d/%{name}
|
|
| 109 |
+%{_sysconfdir}/%{name}/%{name}.yml
|
|
| 110 |
+%{_datadir}/%{name}/yarn.lock
|
|
| 111 |
+%{_datadir}/%{name}/package.json
|
|
| 112 |
+%dir %{_datadir}/%{name}
|
|
| 113 |
+%{_datadir}/%{name}
|
|
| 114 |
+ |
|
| 115 |
+%changelog |
|
| 116 |
+* Mon Jul 09 2018 Keerthana K <keerthanak@vmware.com> 6.3.0-1 |
|
| 117 |
+- Initial kibana package for PhotonOS. |
| 0 | 118 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,33 @@ |
| 0 |
+tdnf install mercurial -y |
|
| 1 |
+ |
|
| 2 |
+if [[ $# -eq 0 ]] ; then |
|
| 3 |
+ echo 'Usage: generate_source_tarball.sh <Mercurial-Tag-Name> <openjdk version>' |
|
| 4 |
+ echo 'Example: generate_source_tarball.sh jdk-10+23 1.10.0.23' |
|
| 5 |
+ echo 'visit http://hg.openjdk.java.net/jdk10/jdk10/tags to use the appropriate tag name.' |
|
| 6 |
+ exit 0 |
|
| 7 |
+fi |
|
| 8 |
+rm -rf openjdk-$2 |
|
| 9 |
+hg clone http://hg.openjdk.java.net/jdk10/jdk10 -u $1 openjdk-$2 |
|
| 10 |
+cd openjdk-$2 |
|
| 11 |
+hg clone http://hg.openjdk.java.net/jdk10/jdk10/corba/ -u $1 |
|
| 12 |
+hg clone http://hg.openjdk.java.net/jdk10/jdk10/hotspot/ -u $1 |
|
| 13 |
+hg clone http://hg.openjdk.java.net/jdk10/jdk10/jaxp/ -u $1 |
|
| 14 |
+hg clone http://hg.openjdk.java.net/jdk10/jdk10/jaxws/ -u $1 |
|
| 15 |
+hg clone http://hg.openjdk.java.net//jdk10/jdk10/jdk/ -u $1 |
|
| 16 |
+hg clone http://hg.openjdk.java.net/jdk10/jdk10/langtools/ -u $1 |
|
| 17 |
+hg clone http://hg.openjdk.java.net/jdk10/jdk10/nashorn/ -u $1 |
|
| 18 |
+ |
|
| 19 |
+rm -r .hg |
|
| 20 |
+rm -r corba/.hg |
|
| 21 |
+rm -r hotspot/.hg |
|
| 22 |
+rm -r jaxp/.hg |
|
| 23 |
+rm -r jaxws/.hg |
|
| 24 |
+rm -r jdk/.hg |
|
| 25 |
+rm -r langtools/.hg |
|
| 26 |
+rm -r nashorn/.hg |
|
| 27 |
+cd .. |
|
| 28 |
+ |
|
| 29 |
+tar -cvzf openjdk-$2.tar.gz openjdk-$2 |
|
| 30 |
+chmod 644 openjdk-$2.tar.gz |
|
| 31 |
+ |
|
| 32 |
+echo 'source tarball openjdk-$2.tar.gz successfully created!' |
| 0 | 33 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,228 @@ |
| 0 |
+%define _use_internal_dependency_generator 0 |
|
| 1 |
+%global security_hardening none |
|
| 2 |
+Summary: OpenJDK |
|
| 3 |
+Name: openjdk10 |
|
| 4 |
+Version: 1.10.0.23 |
|
| 5 |
+Release: 1%{?dist}
|
|
| 6 |
+License: GNU GPL |
|
| 7 |
+URL: https://openjdk.java.net |
|
| 8 |
+Group: Development/Tools |
|
| 9 |
+Vendor: VMware, Inc. |
|
| 10 |
+Distribution: Photon |
|
| 11 |
+Source0: http://www.java.net/download/openjdk/jdk10/jdk10/openjdk-%{version}.tar.gz
|
|
| 12 |
+%define sha1 openjdk-1.10.0=d0b6193fd1687b23fb7553b62d32f0e7e0527ea8 |
|
| 13 |
+BuildRequires: pcre-devel |
|
| 14 |
+BuildRequires: which |
|
| 15 |
+BuildRequires: zip |
|
| 16 |
+BuildRequires: unzip |
|
| 17 |
+BuildRequires: zlib-devel |
|
| 18 |
+BuildRequires: ca-certificates |
|
| 19 |
+BuildRequires: chkconfig |
|
| 20 |
+BuildRequires: fontconfig-devel freetype2-devel glib-devel harfbuzz-devel elfutils-libelf-devel |
|
| 21 |
+Requires: openjre10 = %{version}-%{release}
|
|
| 22 |
+Requires: chkconfig |
|
| 23 |
+Requires: openjdk9 |
|
| 24 |
+Obsoletes: openjdk <= %{version}
|
|
| 25 |
+Obsoletes: openjdk-sample <= %{version}
|
|
| 26 |
+Obsoletes: openjdk-src <= %{version}
|
|
| 27 |
+Obsoletes: openjdk-doc <= %{version}
|
|
| 28 |
+AutoReqProv: no |
|
| 29 |
+%define bootstrapjdkversion 1.8.0.112 |
|
| 30 |
+%define jdk_major_version 1.10.0 |
|
| 31 |
+%description |
|
| 32 |
+The OpenJDK package installs java class library and javac java compiler. |
|
| 33 |
+ |
|
| 34 |
+%package -n openjre10 |
|
| 35 |
+Summary: Java runtime environment |
|
| 36 |
+AutoReqProv: no |
|
| 37 |
+Obsoletes: openjre <= %{version}
|
|
| 38 |
+Requires: chkconfig |
|
| 39 |
+Requires: libstdc++ |
|
| 40 |
+%description -n openjre10 |
|
| 41 |
+It contains the libraries files for Java runtime environment |
|
| 42 |
+ |
|
| 43 |
+%package doc |
|
| 44 |
+Summary: Documentation and demo applications for openjdk |
|
| 45 |
+Group: Development/Languages/Java |
|
| 46 |
+Obsoletes: openjdk-doc <= %{version}
|
|
| 47 |
+Requires: %{name} = %{version}-%{release}
|
|
| 48 |
+%description doc |
|
| 49 |
+It contains the documentation and demo applications for openjdk |
|
| 50 |
+ |
|
| 51 |
+%package src |
|
| 52 |
+Summary: OpenJDK Java classes for developers |
|
| 53 |
+Group: Development/Languages/Java |
|
| 54 |
+Obsoletes: openjdk-src <= %{version}
|
|
| 55 |
+Requires: %{name} = %{version}-%{release}
|
|
| 56 |
+%description src |
|
| 57 |
+This package provides the runtime library class sources. |
|
| 58 |
+ |
|
| 59 |
+%prep -p exit |
|
| 60 |
+%setup -qn openjdk-%{version}
|
|
| 61 |
+ |
|
| 62 |
+%build |
|
| 63 |
+chmod a+x ./configure |
|
| 64 |
+unset JAVA_HOME && |
|
| 65 |
+ENABLE_HEADLESS_ONLY="true" && |
|
| 66 |
+./configure \ |
|
| 67 |
+ --with-target-bits=64 \ |
|
| 68 |
+ --with-boot-jdk=/var/opt/OpenJDK-%bootstrapjdkversion-bin \ |
|
| 69 |
+ --enable-headless-only \ |
|
| 70 |
+ --with-extra-cxxflags="-Wno-error -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse" \ |
|
| 71 |
+ --with-extra-cflags="-fno-delete-null-pointer-checks -Wno-error -fno-lifetime-dse" \ |
|
| 72 |
+ --with-freetype-include=/usr/include/freetype2 \ |
|
| 73 |
+ --with-freetype-lib=/usr/lib \ |
|
| 74 |
+ --with-stdc++lib=dynamic \ |
|
| 75 |
+ --disable-warnings-as-errors |
|
| 76 |
+ |
|
| 77 |
+mkdir /usr/share/java -p |
|
| 78 |
+make \ |
|
| 79 |
+ DISABLE_HOTSPOT_OS_VERSION_CHECK=ok \ |
|
| 80 |
+ SCTP_WERROR= \ |
|
| 81 |
+ BUILD_HEADLESS_ONLY=1 \ |
|
| 82 |
+ OPENJDK_TARGET_OS=linux \ |
|
| 83 |
+ STRIP_POLICY=no_strip \ |
|
| 84 |
+ POST_STRIP_CMD="" \ |
|
| 85 |
+ LOG=trace |
|
| 86 |
+ |
|
| 87 |
+%install |
|
| 88 |
+unset JAVA_HOME && |
|
| 89 |
+make install |
|
| 90 |
+ |
|
| 91 |
+install -vdm755 %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}
|
|
| 92 |
+chown -R root:root %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}
|
|
| 93 |
+install -vdm755 %{buildroot}%{_bindir}
|
|
| 94 |
+mv /usr/local/jvm/openjdk-10-internal/* %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}/
|
|
| 95 |
+mv build/linux-x86_64-normal-server-release/images/jre %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}/
|
|
| 96 |
+cp README LICENSE ASSEMBLY_EXCEPTION %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}/
|
|
| 97 |
+ |
|
| 98 |
+%post |
|
| 99 |
+alternatives --install %{_bindir}/javac javac %{_libdir}/jvm/OpenJDK-%{version}/bin/javac 2000 \
|
|
| 100 |
+ --slave %{_bindir}/appletviewer appletviewer %{_libdir}/jvm/OpenJDK-%{version}/bin/appletviewer \
|
|
| 101 |
+ --slave %{_bindir}/idlj idlj %{_libdir}/jvm/OpenJDK-%{version}/bin/idlj \
|
|
| 102 |
+ --slave %{_bindir}/jaotc jaotc %{_libdir}/jvm/OpenJDK-%{version}/bin/jaotc \
|
|
| 103 |
+ --slave %{_bindir}/jar jar %{_libdir}/jvm/OpenJDK-%{version}/bin/jar \
|
|
| 104 |
+ --slave %{_bindir}/jarsigner jarsigner %{_libdir}/jvm/OpenJDK-%{version}/bin/jarsigner \
|
|
| 105 |
+ --slave %{_bindir}/jhsdb jhsdb %{_libdir}/jvm/OpenJDK-%{version}/bin/jhsdb \
|
|
| 106 |
+ --slave %{_bindir}/jimage jimage %{_libdir}/jvm/OpenJDK-%{version}/bin/jimage \
|
|
| 107 |
+ --slave %{_bindir}/jlink jlink %{_libdir}/jvm/OpenJDK-%{version}/bin/jlink \
|
|
| 108 |
+ --slave %{_bindir}/jmod jmod %{_libdir}/jvm/OpenJDK-%{version}/bin/jmod \
|
|
| 109 |
+ --slave %{_bindir}/javadoc javadoc %{_libdir}/jvm/OpenJDK-%{version}/bin/javadoc \
|
|
| 110 |
+ --slave %{_bindir}/javah javah %{_libdir}/jvm/OpenJDK-%{version}/bin/javah \
|
|
| 111 |
+ --slave %{_bindir}/javap javap %{_libdir}/jvm/OpenJDK-%{version}/bin/javap \
|
|
| 112 |
+ --slave %{_bindir}/jcmd jcmd %{_libdir}/jvm/OpenJDK-%{version}/bin/jcmd \
|
|
| 113 |
+ --slave %{_bindir}/jdeprscan jdeprscan %{_libdir}/jvm/OpenJDK-%{version}/bin/jdeprscan \
|
|
| 114 |
+ --slave %{_bindir}/jconsole jconsole %{_libdir}/jvm/OpenJDK-%{version}/bin/jconsole \
|
|
| 115 |
+ --slave %{_bindir}/jdb jdb %{_libdir}/jvm/OpenJDK-%{version}/bin/jdb \
|
|
| 116 |
+ --slave %{_bindir}/jdeps jdeps %{_libdir}/jvm/OpenJDK-%{version}/bin/jdeps \
|
|
| 117 |
+ --slave %{_bindir}/jinfo jinfo %{_libdir}/jvm/OpenJDK-%{version}/bin/jinfo \
|
|
| 118 |
+ --slave %{_bindir}/jmap jmap %{_libdir}/jvm/OpenJDK-%{version}/bin/jmap \
|
|
| 119 |
+ --slave %{_bindir}/jps jps %{_libdir}/jvm/OpenJDK-%{version}/bin/jps \
|
|
| 120 |
+ --slave %{_bindir}/jrunscript jrunscript %{_libdir}/jvm/OpenJDK-%{version}/bin/jrunscript \
|
|
| 121 |
+ --slave %{_bindir}/jstack jstack %{_libdir}/jvm/OpenJDK-%{version}/bin/jstack \
|
|
| 122 |
+ --slave %{_bindir}/jstat jstat %{_libdir}/jvm/OpenJDK-%{version}/bin/jstat \
|
|
| 123 |
+ --slave %{_bindir}/jstatd jstatd %{_libdir}/jvm/OpenJDK-%{version}/bin/jstatd \
|
|
| 124 |
+ --slave %{_bindir}/rmic rmic %{_libdir}/jvm/OpenJDK-%{version}/bin/rmic \
|
|
| 125 |
+ --slave %{_bindir}/schemagen schemagen %{_libdir}/jvm/OpenJDK-%{version}/bin/schemagen \
|
|
| 126 |
+ --slave %{_bindir}/serialver serialver %{_libdir}/jvm/OpenJDK-%{version}/bin/serialver \
|
|
| 127 |
+ --slave %{_bindir}/wsgen wsgen %{_libdir}/jvm/OpenJDK-%{version}/bin/wsgen \
|
|
| 128 |
+ --slave %{_bindir}/wsimport wsimport %{_libdir}/jvm/OpenJDK-%{version}/bin/wsimport \
|
|
| 129 |
+ --slave %{_bindir}/xjc xjc %{_libdir}/jvm/OpenJDK-%{version}/bin/xjc
|
|
| 130 |
+/sbin/ldconfig |
|
| 131 |
+ |
|
| 132 |
+%post -n openjre10 |
|
| 133 |
+alternatives --install %{_bindir}/java java %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/java 2000 \
|
|
| 134 |
+ --slave %{_libdir}/jvm/jre jre %{_libdir}/jvm/OpenJDK-%{version}/jre \
|
|
| 135 |
+ --slave %{_bindir}/jjs jjs %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/jjs \
|
|
| 136 |
+ --slave %{_bindir}/keytool keytool %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/keytool \
|
|
| 137 |
+ --slave %{_bindir}/orbd orbd %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/orbd \
|
|
| 138 |
+ --slave %{_bindir}/pack200 pack200 %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/pack200 \
|
|
| 139 |
+ --slave %{_bindir}/rmid rmid %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/rmid \
|
|
| 140 |
+ --slave %{_bindir}/rmiregistry rmiregistry %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/rmiregistry \
|
|
| 141 |
+ --slave %{_bindir}/servertool servertool %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/servertool \
|
|
| 142 |
+ --slave %{_bindir}/tnameserv tnameserv %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/tnameserv \
|
|
| 143 |
+ --slave %{_bindir}/unpack200 unpack200 %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/unpack200
|
|
| 144 |
+/sbin/ldconfig |
|
| 145 |
+ |
|
| 146 |
+%postun |
|
| 147 |
+alternatives --remove javac %{_libdir}/jvm/OpenJDK-%{version}/bin/javac
|
|
| 148 |
+/sbin/ldconfig |
|
| 149 |
+ |
|
| 150 |
+%postun -n openjre10 |
|
| 151 |
+alternatives --remove java %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/java
|
|
| 152 |
+/sbin/ldconfig |
|
| 153 |
+ |
|
| 154 |
+%clean |
|
| 155 |
+rm -rf %{buildroot}/*
|
|
| 156 |
+rm -rf %{_libdir}/jvm/OpenJDK-*
|
|
| 157 |
+ |
|
| 158 |
+%files |
|
| 159 |
+%defattr(-,root,root) |
|
| 160 |
+%{_libdir}/jvm/OpenJDK-%{version}/ASSEMBLY_EXCEPTION
|
|
| 161 |
+%{_libdir}/jvm/OpenJDK-%{version}/LICENSE
|
|
| 162 |
+%{_libdir}/jvm/OpenJDK-%{version}/README
|
|
| 163 |
+%{_libdir}/jvm/OpenJDK-%{version}/release
|
|
| 164 |
+%{_libdir}/jvm/OpenJDK-%{version}/lib
|
|
| 165 |
+%{_libdir}/jvm/OpenJDK-%{version}/include/
|
|
| 166 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/idlj
|
|
| 167 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jaotc
|
|
| 168 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jar
|
|
| 169 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jhsdb
|
|
| 170 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jimage
|
|
| 171 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jarsigner
|
|
| 172 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jdeprscan
|
|
| 173 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/javac
|
|
| 174 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/javadoc
|
|
| 175 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/javah
|
|
| 176 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/javap
|
|
| 177 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jcmd
|
|
| 178 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jconsole
|
|
| 179 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jdb
|
|
| 180 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jdeps
|
|
| 181 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jinfo
|
|
| 182 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jlink
|
|
| 183 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jmod
|
|
| 184 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jmap
|
|
| 185 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jps
|
|
| 186 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jshell
|
|
| 187 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jrunscript
|
|
| 188 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jstack
|
|
| 189 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jstat
|
|
| 190 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jstatd
|
|
| 191 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/rmic
|
|
| 192 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/schemagen
|
|
| 193 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/serialver
|
|
| 194 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/wsgen
|
|
| 195 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/wsimport
|
|
| 196 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/xjc
|
|
| 197 |
+%{_libdir}/jvm/OpenJDK-%{version}/conf
|
|
| 198 |
+%{_libdir}/jvm/OpenJDK-%{version}/jmods
|
|
| 199 |
+ |
|
| 200 |
+%files -n openjre10 |
|
| 201 |
+%defattr(-,root,root) |
|
| 202 |
+%dir %{_libdir}/jvm/OpenJDK-%{version}
|
|
| 203 |
+%{_libdir}/jvm/OpenJDK-%{version}/jre/
|
|
| 204 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/java
|
|
| 205 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/keytool
|
|
| 206 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/orbd
|
|
| 207 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/pack200
|
|
| 208 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jjs
|
|
| 209 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/rmid
|
|
| 210 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/rmiregistry
|
|
| 211 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/servertool
|
|
| 212 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/tnameserv
|
|
| 213 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/unpack200
|
|
| 214 |
+ |
|
| 215 |
+%files doc |
|
| 216 |
+%defattr(-,root,root) |
|
| 217 |
+%{_libdir}/jvm/OpenJDK-%{version}/man/
|
|
| 218 |
+%{_libdir}/jvm/OpenJDK-%{version}/legal/
|
|
| 219 |
+%{_libdir}/jvm/OpenJDK-%{version}/demo
|
|
| 220 |
+ |
|
| 221 |
+%files src |
|
| 222 |
+%defattr(-,root,root) |
|
| 223 |
+%{_libdir}/jvm/OpenJDK-%{version}/lib/src.zip
|
|
| 224 |
+ |
|
| 225 |
+%changelog |
|
| 226 |
+* Mon Jul 16 2018 Tapas Kundu <tkundu@vmware.com> 1.10.0.23-1 |
|
| 227 |
+- Initial build. First version |
| 0 | 228 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,32 @@ |
| 0 |
+set -e |
|
| 1 |
+if [[ $# -eq 0 ]] ; then |
|
| 2 |
+ echo 'Usage: generate_source_tarball.sh <Mercurial-Tag-Name> <openjdk version>' |
|
| 3 |
+ echo 'Example: generate_source_tarball.sh jdk9152-b16 1.8.0.152' |
|
| 4 |
+ echo 'visit http://hg.openjdk.java.net/jdk9/jdk9/tags to use the appropriate tag name.' |
|
| 5 |
+ exit 0 |
|
| 6 |
+fi |
|
| 7 |
+rm -rf openjdk-$2 |
|
| 8 |
+hg clone http://hg.openjdk.java.net/jdk9/jdk9 -u $1 openjdk-$2 |
|
| 9 |
+cd openjdk-$2 |
|
| 10 |
+hg clone http://hg.openjdk.java.net/jdk9/jdk9/corba/ -u $1 |
|
| 11 |
+hg clone http://hg.openjdk.java.net/jdk9/jdk9/hotspot/ -u $1 |
|
| 12 |
+hg clone http://hg.openjdk.java.net/jdk9/jdk9/jaxp/ -u $1 |
|
| 13 |
+hg clone http://hg.openjdk.java.net/jdk9/jdk9/jaxws/ -u $1 |
|
| 14 |
+hg clone http://hg.openjdk.java.net/jdk9/jdk9/jdk/ -u $1 |
|
| 15 |
+hg clone http://hg.openjdk.java.net/jdk9/jdk9/langtools/ -u $1 |
|
| 16 |
+hg clone http://hg.openjdk.java.net/jdk9/jdk9/nashorn/ -u $1 |
|
| 17 |
+ |
|
| 18 |
+rm -r .hg |
|
| 19 |
+rm -r corba/.hg |
|
| 20 |
+rm -r hotspot/.hg |
|
| 21 |
+rm -r jaxp/.hg |
|
| 22 |
+rm -r jaxws/.hg |
|
| 23 |
+rm -r jdk/.hg |
|
| 24 |
+rm -r langtools/.hg |
|
| 25 |
+rm -r nashorn/.hg |
|
| 26 |
+cd .. |
|
| 27 |
+ |
|
| 28 |
+tar -cvzf openjdk-$2.tar.gz openjdk-$2 |
|
| 29 |
+chmod 644 openjdk-$2.tar.gz |
|
| 30 |
+ |
|
| 31 |
+echo 'source tarball openjdk-$2.tar.gz successfully created!' |
| 0 | 32 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,232 @@ |
| 0 |
+%define _use_internal_dependency_generator 0 |
|
| 1 |
+%global security_hardening none |
|
| 2 |
+Summary: OpenJDK |
|
| 3 |
+Name: openjdk9 |
|
| 4 |
+Version: 1.9.0.181 |
|
| 5 |
+Release: 1%{?dist}
|
|
| 6 |
+License: GNU GPL |
|
| 7 |
+URL: https://openjdk.java.net |
|
| 8 |
+Group: Development/Tools |
|
| 9 |
+Vendor: VMware, Inc. |
|
| 10 |
+Distribution: Photon |
|
| 11 |
+Source0: http://www.java.net/download/openjdk/jdk9/b182/openjdk-%{version}.tar.gz
|
|
| 12 |
+%define sha1 openjdk-1.9.0=0761abc2aabb0aa24f63ce96853ab3bb57ccce67 |
|
| 13 |
+BuildRequires: pcre-devel |
|
| 14 |
+BuildRequires: which |
|
| 15 |
+BuildRequires: zip |
|
| 16 |
+BuildRequires: unzip |
|
| 17 |
+BuildRequires: zlib-devel |
|
| 18 |
+BuildRequires: ca-certificates |
|
| 19 |
+BuildRequires: chkconfig |
|
| 20 |
+BuildRequires: elfutils-libelf-devel |
|
| 21 |
+BuildRequires: fontconfig-devel freetype2-devel glib-devel harfbuzz-devel |
|
| 22 |
+Requires: openjre9 = %{version}-%{release}
|
|
| 23 |
+Requires: chkconfig |
|
| 24 |
+Obsoletes: openjdk <= %{version}
|
|
| 25 |
+Obsoletes: openjdk-sample <= %{version}
|
|
| 26 |
+Obsoletes: openjdk-src <= %{version}
|
|
| 27 |
+Obsoletes: openjdk-doc <= %{version}
|
|
| 28 |
+AutoReqProv: no |
|
| 29 |
+%define bootstrapjdkversion 1.8.0.112 |
|
| 30 |
+%define jdk_major_version 1.9.0 |
|
| 31 |
+%description |
|
| 32 |
+The OpenJDK package installs java class library and javac java compiler. |
|
| 33 |
+ |
|
| 34 |
+%package -n openjre9 |
|
| 35 |
+Summary: Java runtime environment |
|
| 36 |
+AutoReqProv: no |
|
| 37 |
+Obsoletes: openjre <= %{version}
|
|
| 38 |
+Requires: chkconfig |
|
| 39 |
+Requires: libstdc++ |
|
| 40 |
+%description -n openjre9 |
|
| 41 |
+It contains the libraries files for Java runtime environment |
|
| 42 |
+ |
|
| 43 |
+%package doc |
|
| 44 |
+Summary: Documentation and demo applications for openjdk |
|
| 45 |
+Group: Development/Languages/Java |
|
| 46 |
+Obsoletes: openjdk-doc <= %{version}
|
|
| 47 |
+Requires: %{name} = %{version}-%{release}
|
|
| 48 |
+%description doc |
|
| 49 |
+It contains the documentation and demo applications for openjdk |
|
| 50 |
+ |
|
| 51 |
+%package src |
|
| 52 |
+Summary: OpenJDK Java classes for developers |
|
| 53 |
+Group: Development/Languages/Java |
|
| 54 |
+Obsoletes: openjdk-src <= %{version}
|
|
| 55 |
+Requires: %{name} = %{version}-%{release}
|
|
| 56 |
+%description src |
|
| 57 |
+This package provides the runtime library class sources. |
|
| 58 |
+ |
|
| 59 |
+%prep -p exit |
|
| 60 |
+%setup -qn openjdk-%{version}
|
|
| 61 |
+ |
|
| 62 |
+%build |
|
| 63 |
+chmod a+x ./configure |
|
| 64 |
+unset JAVA_HOME && |
|
| 65 |
+ENABLE_HEADLESS_ONLY="true" && |
|
| 66 |
+./configure \ |
|
| 67 |
+ --with-target-bits=64 \ |
|
| 68 |
+ --with-boot-jdk=/var/opt/OpenJDK-%bootstrapjdkversion-bin \ |
|
| 69 |
+ --enable-headless-only \ |
|
| 70 |
+ --with-extra-cxxflags="-Wno-error -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse" \ |
|
| 71 |
+ --with-extra-cflags="-fno-delete-null-pointer-checks -Wno-error -fno-lifetime-dse" \ |
|
| 72 |
+ --with-freetype-include=/usr/include/freetype2 \ |
|
| 73 |
+ --with-freetype-lib=/usr/lib \ |
|
| 74 |
+ --with-stdc++lib=dynamic \ |
|
| 75 |
+ --disable-warnings-as-errors |
|
| 76 |
+ |
|
| 77 |
+mkdir /usr/share/java -p |
|
| 78 |
+make \ |
|
| 79 |
+ DISABLE_HOTSPOT_OS_VERSION_CHECK=ok \ |
|
| 80 |
+ SCTP_WERROR= \ |
|
| 81 |
+ BUILD_HEADLESS_ONLY=1 \ |
|
| 82 |
+ OPENJDK_TARGET_OS=linux \ |
|
| 83 |
+ STRIP_POLICY=no_strip \ |
|
| 84 |
+ POST_STRIP_CMD="" \ |
|
| 85 |
+ LOG=trace |
|
| 86 |
+ |
|
| 87 |
+%install |
|
| 88 |
+unset JAVA_HOME && |
|
| 89 |
+make DESTDIR=%{buildroot} install \
|
|
| 90 |
+ BUILD_HEADLESS_ONLY=yes \ |
|
| 91 |
+ OPENJDK_TARGET_OS=linux \ |
|
| 92 |
+ DISABLE_HOTSPOT_OS_VERSION_CHECK=ok \ |
|
| 93 |
+ CLASSPATH=/var/opt/OpenJDK-%bootstrapjdkversion-bin/jre |
|
| 94 |
+ |
|
| 95 |
+install -vdm755 %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}
|
|
| 96 |
+chown -R root:root %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}
|
|
| 97 |
+install -vdm755 %{buildroot}%{_bindir}
|
|
| 98 |
+mv /usr/local/jvm/openjdk-9-internal/* %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}/
|
|
| 99 |
+mv build/linux-x86_64-normal-server-release/images/jre %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}/
|
|
| 100 |
+cp README LICENSE ASSEMBLY_EXCEPTION %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}/
|
|
| 101 |
+ |
|
| 102 |
+%post |
|
| 103 |
+alternatives --install %{_bindir}/javac javac %{_libdir}/jvm/OpenJDK-%{version}/bin/javac 2000 \
|
|
| 104 |
+ --slave %{_bindir}/appletviewer appletviewer %{_libdir}/jvm/OpenJDK-%{version}/bin/appletviewer \
|
|
| 105 |
+ --slave %{_bindir}/idlj idlj %{_libdir}/jvm/OpenJDK-%{version}/bin/idlj \
|
|
| 106 |
+ --slave %{_bindir}/jaotc jaotc %{_libdir}/jvm/OpenJDK-%{version}/bin/jaotc \
|
|
| 107 |
+ --slave %{_bindir}/jar jar %{_libdir}/jvm/OpenJDK-%{version}/bin/jar \
|
|
| 108 |
+ --slave %{_bindir}/jarsigner jarsigner %{_libdir}/jvm/OpenJDK-%{version}/bin/jarsigner \
|
|
| 109 |
+ --slave %{_bindir}/jhsdb jhsdb %{_libdir}/jvm/OpenJDK-%{version}/bin/jhsdb \
|
|
| 110 |
+ --slave %{_bindir}/jimage jimage %{_libdir}/jvm/OpenJDK-%{version}/bin/jimage \
|
|
| 111 |
+ --slave %{_bindir}/jlink jlink %{_libdir}/jvm/OpenJDK-%{version}/bin/jlink \
|
|
| 112 |
+ --slave %{_bindir}/jmod jmod %{_libdir}/jvm/OpenJDK-%{version}/bin/jmod \
|
|
| 113 |
+ --slave %{_bindir}/javadoc javadoc %{_libdir}/jvm/OpenJDK-%{version}/bin/javadoc \
|
|
| 114 |
+ --slave %{_bindir}/javah javah %{_libdir}/jvm/OpenJDK-%{version}/bin/javah \
|
|
| 115 |
+ --slave %{_bindir}/javap javap %{_libdir}/jvm/OpenJDK-%{version}/bin/javap \
|
|
| 116 |
+ --slave %{_bindir}/jcmd jcmd %{_libdir}/jvm/OpenJDK-%{version}/bin/jcmd \
|
|
| 117 |
+ --slave %{_bindir}/jdeprscan jdeprscan %{_libdir}/jvm/OpenJDK-%{version}/bin/jdeprscan \
|
|
| 118 |
+ --slave %{_bindir}/jconsole jconsole %{_libdir}/jvm/OpenJDK-%{version}/bin/jconsole \
|
|
| 119 |
+ --slave %{_bindir}/jdb jdb %{_libdir}/jvm/OpenJDK-%{version}/bin/jdb \
|
|
| 120 |
+ --slave %{_bindir}/jdeps jdeps %{_libdir}/jvm/OpenJDK-%{version}/bin/jdeps \
|
|
| 121 |
+ --slave %{_bindir}/jinfo jinfo %{_libdir}/jvm/OpenJDK-%{version}/bin/jinfo \
|
|
| 122 |
+ --slave %{_bindir}/jmap jmap %{_libdir}/jvm/OpenJDK-%{version}/bin/jmap \
|
|
| 123 |
+ --slave %{_bindir}/jps jps %{_libdir}/jvm/OpenJDK-%{version}/bin/jps \
|
|
| 124 |
+ --slave %{_bindir}/jrunscript jrunscript %{_libdir}/jvm/OpenJDK-%{version}/bin/jrunscript \
|
|
| 125 |
+ --slave %{_bindir}/jstack jstack %{_libdir}/jvm/OpenJDK-%{version}/bin/jstack \
|
|
| 126 |
+ --slave %{_bindir}/jstat jstat %{_libdir}/jvm/OpenJDK-%{version}/bin/jstat \
|
|
| 127 |
+ --slave %{_bindir}/jstatd jstatd %{_libdir}/jvm/OpenJDK-%{version}/bin/jstatd \
|
|
| 128 |
+ --slave %{_bindir}/rmic rmic %{_libdir}/jvm/OpenJDK-%{version}/bin/rmic \
|
|
| 129 |
+ --slave %{_bindir}/schemagen schemagen %{_libdir}/jvm/OpenJDK-%{version}/bin/schemagen \
|
|
| 130 |
+ --slave %{_bindir}/serialver serialver %{_libdir}/jvm/OpenJDK-%{version}/bin/serialver \
|
|
| 131 |
+ --slave %{_bindir}/wsgen wsgen %{_libdir}/jvm/OpenJDK-%{version}/bin/wsgen \
|
|
| 132 |
+ --slave %{_bindir}/wsimport wsimport %{_libdir}/jvm/OpenJDK-%{version}/bin/wsimport \
|
|
| 133 |
+ --slave %{_bindir}/xjc xjc %{_libdir}/jvm/OpenJDK-%{version}/bin/xjc
|
|
| 134 |
+/sbin/ldconfig |
|
| 135 |
+ |
|
| 136 |
+%post -n openjre9 |
|
| 137 |
+alternatives --install %{_bindir}/java java %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/java 2000 \
|
|
| 138 |
+ --slave %{_libdir}/jvm/jre jre %{_libdir}/jvm/OpenJDK-%{version}/jre \
|
|
| 139 |
+ --slave %{_bindir}/jjs jjs %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/jjs \
|
|
| 140 |
+ --slave %{_bindir}/keytool keytool %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/keytool \
|
|
| 141 |
+ --slave %{_bindir}/orbd orbd %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/orbd \
|
|
| 142 |
+ --slave %{_bindir}/pack200 pack200 %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/pack200 \
|
|
| 143 |
+ --slave %{_bindir}/rmid rmid %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/rmid \
|
|
| 144 |
+ --slave %{_bindir}/rmiregistry rmiregistry %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/rmiregistry \
|
|
| 145 |
+ --slave %{_bindir}/servertool servertool %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/servertool \
|
|
| 146 |
+ --slave %{_bindir}/tnameserv tnameserv %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/tnameserv \
|
|
| 147 |
+ --slave %{_bindir}/unpack200 unpack200 %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/unpack200
|
|
| 148 |
+/sbin/ldconfig |
|
| 149 |
+ |
|
| 150 |
+%postun |
|
| 151 |
+alternatives --remove javac %{_libdir}/jvm/OpenJDK-%{version}/bin/javac
|
|
| 152 |
+/sbin/ldconfig |
|
| 153 |
+ |
|
| 154 |
+%postun -n openjre9 |
|
| 155 |
+alternatives --remove java %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/java
|
|
| 156 |
+/sbin/ldconfig |
|
| 157 |
+ |
|
| 158 |
+%clean |
|
| 159 |
+rm -rf %{buildroot}/*
|
|
| 160 |
+rm -rf %{_libdir}/jvm/OpenJDK-*
|
|
| 161 |
+ |
|
| 162 |
+%files |
|
| 163 |
+%defattr(-,root,root) |
|
| 164 |
+%{_libdir}/jvm/OpenJDK-%{version}/ASSEMBLY_EXCEPTION
|
|
| 165 |
+%{_libdir}/jvm/OpenJDK-%{version}/LICENSE
|
|
| 166 |
+%{_libdir}/jvm/OpenJDK-%{version}/README
|
|
| 167 |
+%{_libdir}/jvm/OpenJDK-%{version}/release
|
|
| 168 |
+%{_libdir}/jvm/OpenJDK-%{version}/lib
|
|
| 169 |
+%{_libdir}/jvm/OpenJDK-%{version}/include/
|
|
| 170 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/idlj
|
|
| 171 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jaotc
|
|
| 172 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jar
|
|
| 173 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jhsdb
|
|
| 174 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jimage
|
|
| 175 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jarsigner
|
|
| 176 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jdeprscan
|
|
| 177 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/javac
|
|
| 178 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/javadoc
|
|
| 179 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/javah
|
|
| 180 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/javap
|
|
| 181 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jcmd
|
|
| 182 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jconsole
|
|
| 183 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jdb
|
|
| 184 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jdeps
|
|
| 185 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jinfo
|
|
| 186 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jlink
|
|
| 187 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jmod
|
|
| 188 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jmap
|
|
| 189 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jps
|
|
| 190 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jshell
|
|
| 191 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jrunscript
|
|
| 192 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jstack
|
|
| 193 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jstat
|
|
| 194 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jstatd
|
|
| 195 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/rmic
|
|
| 196 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/schemagen
|
|
| 197 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/serialver
|
|
| 198 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/wsgen
|
|
| 199 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/wsimport
|
|
| 200 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/xjc
|
|
| 201 |
+%{_libdir}/jvm/OpenJDK-%{version}/conf
|
|
| 202 |
+%{_libdir}/jvm/OpenJDK-%{version}/jmods
|
|
| 203 |
+ |
|
| 204 |
+%files -n openjre9 |
|
| 205 |
+%defattr(-,root,root) |
|
| 206 |
+%dir %{_libdir}/jvm/OpenJDK-%{version}
|
|
| 207 |
+%{_libdir}/jvm/OpenJDK-%{version}/jre/
|
|
| 208 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/java
|
|
| 209 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/keytool
|
|
| 210 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/orbd
|
|
| 211 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/pack200
|
|
| 212 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/jjs
|
|
| 213 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/rmid
|
|
| 214 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/rmiregistry
|
|
| 215 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/servertool
|
|
| 216 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/tnameserv
|
|
| 217 |
+%{_libdir}/jvm/OpenJDK-%{version}/bin/unpack200
|
|
| 218 |
+ |
|
| 219 |
+%files doc |
|
| 220 |
+%defattr(-,root,root) |
|
| 221 |
+%{_libdir}/jvm/OpenJDK-%{version}/man/
|
|
| 222 |
+%{_libdir}/jvm/OpenJDK-%{version}/legal/
|
|
| 223 |
+%{_libdir}/jvm/OpenJDK-%{version}/demo
|
|
| 224 |
+ |
|
| 225 |
+%files src |
|
| 226 |
+%defattr(-,root,root) |
|
| 227 |
+%{_libdir}/jvm/OpenJDK-%{version}/lib/src.zip
|
|
| 228 |
+ |
|
| 229 |
+%changelog |
|
| 230 |
+* Fri Jul 20 2018 Tapas Kundu <tkundu@vmware.com> 1.9.0.181-1 |
|
| 231 |
+- Initial build. First version |
| ... | ... |
@@ -1,7 +1,9 @@ |
| 1 |
+import json |
|
| 1 | 2 |
import ThreadPool |
| 2 | 3 |
from constants import constants |
| 3 | 4 |
from Logger import Logger |
| 4 | 5 |
import threading |
| 6 |
+from Queue import PriorityQueue |
|
| 5 | 7 |
|
| 6 | 8 |
class Scheduler(object): |
| 7 | 9 |
|
| ... | ... |
@@ -10,8 +12,13 @@ class Scheduler(object): |
| 10 | 10 |
listOfPackagesToBuild=[] |
| 11 | 11 |
listOfPackagesCurrentlyBuilding=[] |
| 12 | 12 |
sortedList=[] |
| 13 |
- listOfPackagesNextToBuild=[] |
|
| 13 |
+ listOfPackagesNextToBuild=PriorityQueue() |
|
| 14 | 14 |
listOfFailedPackages=[] |
| 15 |
+ alldependencyGraph = {}
|
|
| 16 |
+ dependencyGraph = {}
|
|
| 17 |
+ priorityMap = {}
|
|
| 18 |
+ pkgWeights={}
|
|
| 19 |
+ isPriorityScheduler=1 |
|
| 15 | 20 |
logger=None |
| 16 | 21 |
event=None |
| 17 | 22 |
stopScheduling=False |
| ... | ... |
@@ -23,7 +30,109 @@ class Scheduler(object): |
| 23 | 23 |
@staticmethod |
| 24 | 24 |
def setLog(logName,logPath): |
| 25 | 25 |
Scheduler.logger = Logger.getLogger(logName, logPath) |
| 26 |
- |
|
| 26 |
+ |
|
| 27 |
+ @staticmethod |
|
| 28 |
+ def getBuildRequiredPackages(package): |
|
| 29 |
+ listRequiredRPMPackages = [] |
|
| 30 |
+ listRequiredRPMPackages.extend(constants.specData.getBuildRequiresForPackage(package)) |
|
| 31 |
+ |
|
| 32 |
+ listRequiredPackages = [] |
|
| 33 |
+ |
|
| 34 |
+ for pkg in listRequiredRPMPackages: |
|
| 35 |
+ basePkg = constants.specData.getSpecName(pkg) |
|
| 36 |
+ if basePkg not in listRequiredPackages: |
|
| 37 |
+ listRequiredPackages.append(basePkg) |
|
| 38 |
+ |
|
| 39 |
+ return listRequiredPackages |
|
| 40 |
+ |
|
| 41 |
+ |
|
| 42 |
+ @staticmethod |
|
| 43 |
+ def getDependencies(package, parentPackage, k): |
|
| 44 |
+ |
|
| 45 |
+ for node in Scheduler.alldependencyGraph[package].keys(): |
|
| 46 |
+ Scheduler.getDependencies(node, package, k) |
|
| 47 |
+ |
|
| 48 |
+ if parentPackage == None: |
|
| 49 |
+ return |
|
| 50 |
+ else: |
|
| 51 |
+ for node in Scheduler.alldependencyGraph[package].keys(): |
|
| 52 |
+ try: |
|
| 53 |
+ Scheduler.alldependencyGraph[parentPackage][node] = max( |
|
| 54 |
+ Scheduler.alldependencyGraph[parentPackage][node], |
|
| 55 |
+ Scheduler.alldependencyGraph[package][node] * k) |
|
| 56 |
+ except KeyError: |
|
| 57 |
+ Scheduler.alldependencyGraph[parentPackage][node] = \ |
|
| 58 |
+ Scheduler.alldependencyGraph[package][node] * k |
|
| 59 |
+ |
|
| 60 |
+ @staticmethod |
|
| 61 |
+ def makeGraph(): |
|
| 62 |
+ k = 3 |
|
| 63 |
+ for package in Scheduler.sortedList: |
|
| 64 |
+ for child_pkg in Scheduler.dependencyGraph[package].keys(): |
|
| 65 |
+ Scheduler.getDependencies(child_pkg, package, k) |
|
| 66 |
+ for node in Scheduler.alldependencyGraph[child_pkg].keys(): |
|
| 67 |
+ try: |
|
| 68 |
+ Scheduler.dependencyGraph[package][node] = max( |
|
| 69 |
+ Scheduler.dependencyGraph[package][node], |
|
| 70 |
+ Scheduler.alldependencyGraph[child_pkg][node] * k) |
|
| 71 |
+ except KeyError: |
|
| 72 |
+ Scheduler.dependencyGraph[package][node] = \ |
|
| 73 |
+ Scheduler.alldependencyGraph[child_pkg][node] * k |
|
| 74 |
+ if constants.publishBuildDependencies: |
|
| 75 |
+ dependencyLists = {}
|
|
| 76 |
+ for package in Scheduler.dependencyGraph.keys(): |
|
| 77 |
+ dependencyLists[package] = [] |
|
| 78 |
+ for dependency in Scheduler.dependencyGraph[package].keys(): |
|
| 79 |
+ dependencyLists[package].append(dependency) |
|
| 80 |
+ graphfile = open(str(constants.logPath) + "/BuildDependencies.json", 'w') |
|
| 81 |
+ graphfile.write(json.dumps(dependencyLists, sort_keys=True, indent=4)) |
|
| 82 |
+ graphfile.close() |
|
| 83 |
+ |
|
| 84 |
+ @staticmethod |
|
| 85 |
+ def parseWeights(): |
|
| 86 |
+ Scheduler.pkgWeights.clear() |
|
| 87 |
+ weightFile = open(constants.packageWeightsPath, 'r') |
|
| 88 |
+ Scheduler.pkgWeights = json.load(weightFile) |
|
| 89 |
+ weightFile.close() |
|
| 90 |
+ |
|
| 91 |
+ @staticmethod |
|
| 92 |
+ def getWeight(package): |
|
| 93 |
+ try: |
|
| 94 |
+ return float(Scheduler.pkgWeights[package]) |
|
| 95 |
+ except KeyError: |
|
| 96 |
+ return 0 |
|
| 97 |
+ |
|
| 98 |
+ |
|
| 99 |
+ |
|
| 100 |
+ @staticmethod |
|
| 101 |
+ def setPriorities(): |
|
| 102 |
+ if constants.packageWeightsPath == None: |
|
| 103 |
+ Scheduler.logger.info("Priority Scheduler disabled")
|
|
| 104 |
+ Scheduler.isPriorityScheduler = 0 |
|
| 105 |
+ else: |
|
| 106 |
+ Scheduler.parseWeights() |
|
| 107 |
+ |
|
| 108 |
+ for package in Scheduler.sortedList: |
|
| 109 |
+ Scheduler.dependencyGraph[package] = {}
|
|
| 110 |
+ Scheduler.alldependencyGraph[package] = {}
|
|
| 111 |
+ for child_package in Scheduler.getBuildRequiredPackages(package): |
|
| 112 |
+ Scheduler.dependencyGraph[package][child_package] = 1 |
|
| 113 |
+ for child_package in Scheduler.getRequiredPackages(package): |
|
| 114 |
+ Scheduler.alldependencyGraph[package][child_package] = 1 |
|
| 115 |
+ Scheduler.makeGraph() |
|
| 116 |
+ for package in Scheduler.sortedList: |
|
| 117 |
+ try: |
|
| 118 |
+ Scheduler.priorityMap[package] = Scheduler.getWeight(package) |
|
| 119 |
+ except KeyError: |
|
| 120 |
+ Scheduler.priorityMap[package] = 0 |
|
| 121 |
+ for child_pkg in Scheduler.dependencyGraph[package].keys(): |
|
| 122 |
+ Scheduler.priorityMap[child_pkg] = Scheduler.priorityMap[child_pkg] \ |
|
| 123 |
+ + (Scheduler.dependencyGraph[package][child_pkg] |
|
| 124 |
+ * (Scheduler.getWeight(package))) |
|
| 125 |
+ Scheduler.logger.info("set Priorities: Priority of all packages")
|
|
| 126 |
+ Scheduler.logger.info(Scheduler.priorityMap) |
|
| 127 |
+ |
|
| 128 |
+ |
|
| 27 | 129 |
@staticmethod |
| 28 | 130 |
def setParams(sortedList,listOfAlreadyBuiltPackages): |
| 29 | 131 |
Scheduler.sortedList=sortedList |
| ... | ... |
@@ -34,6 +143,7 @@ class Scheduler(object): |
| 34 | 34 |
Scheduler.listOfPackagesCurrentlyBuilding=[] |
| 35 | 35 |
Scheduler.listOfPackagesNextToBuild=[] |
| 36 | 36 |
Scheduler.listOfFailedPackages=[] |
| 37 |
+ Scheduler.setPriorities() |
|
| 37 | 38 |
|
| 38 | 39 |
@staticmethod |
| 39 | 40 |
def getRequiredPackages(package): |
| ... | ... |
@@ -51,7 +161,7 @@ class Scheduler(object): |
| 51 | 51 |
|
| 52 | 52 |
@staticmethod |
| 53 | 53 |
def __getListNextPackagesReadyToBuild(): |
| 54 |
- listOfPackagesNextToBuild=[] |
|
| 54 |
+ listOfPackagesNextToBuild=PriorityQueue() |
|
| 55 | 55 |
Scheduler.logger.info("Checking for next possible packages to build")
|
| 56 | 56 |
for pkg in Scheduler.listOfPackagesToBuild: |
| 57 | 57 |
if pkg in Scheduler.listOfPackagesCurrentlyBuilding: |
| ... | ... |
@@ -66,7 +176,7 @@ class Scheduler(object): |
| 66 | 66 |
Scheduler.logger.info(reqPkg+" is not available. So we cannot build "+ pkg +" at this moment.") |
| 67 | 67 |
break |
| 68 | 68 |
if canBuild: |
| 69 |
- listOfPackagesNextToBuild.append(pkg) |
|
| 69 |
+ listOfPackagesNextToBuild.put((-Scheduler.priorityMap[pkg], pkg)) |
|
| 70 | 70 |
Scheduler.logger.info("Adding "+ pkg +" to the schedule list")
|
| 71 | 71 |
return listOfPackagesNextToBuild |
| 72 | 72 |
|
| ... | ... |
@@ -83,20 +193,37 @@ class Scheduler(object): |
| 83 | 83 |
if len(Scheduler.listOfPackagesToBuild) == 0: |
| 84 | 84 |
if Scheduler.event is not None: |
| 85 | 85 |
Scheduler.event.set() |
| 86 |
- |
|
| 87 |
- if len(Scheduler.listOfPackagesNextToBuild) == 0: |
|
| 88 |
- listOfPackagesNextToBuild=Scheduler.__getListNextPackagesReadyToBuild() |
|
| 89 |
- Scheduler.listOfPackagesNextToBuild=listOfPackagesNextToBuild |
|
| 90 |
- |
|
| 91 |
- if len(Scheduler.listOfPackagesNextToBuild) == 0: |
|
| 86 |
+ try: |
|
| 87 |
+ if Scheduler.listOfPackagesNextToBuild.qsize() == 0: |
|
| 88 |
+ listOfPackagesNextToBuild = Scheduler.__getListNextPackagesReadyToBuild() |
|
| 89 |
+ Scheduler.listOfPackagesNextToBuild = listOfPackagesNextToBuild |
|
| 90 |
+ except: |
|
| 91 |
+ if len(Scheduler.listOfPackagesNextToBuild) == 0: |
|
| 92 |
+ listOfPackagesNextToBuild = Scheduler.__getListNextPackagesReadyToBuild() |
|
| 93 |
+ Scheduler.listOfPackagesNextToBuild = listOfPackagesNextToBuild |
|
| 94 |
+ |
|
| 95 |
+ if Scheduler.listOfPackagesNextToBuild.qsize() == 0: |
|
| 92 | 96 |
Scheduler.logger.info("Released scheduler lock")
|
| 93 | 97 |
Scheduler.lock.release() |
| 94 | 98 |
return None |
| 95 | 99 |
|
| 96 |
- package=Scheduler.listOfPackagesNextToBuild.pop(0) |
|
| 100 |
+ packageTup=Scheduler.listOfPackagesNextToBuild.get() |
|
| 101 |
+ |
|
| 102 |
+ if packageTup[0] == 0 and Scheduler.isPriorityScheduler == 1: |
|
| 103 |
+ listOfPackagesNextToBuild = Scheduler.__getListNextPackagesReadyToBuild() |
|
| 104 |
+ Scheduler.listOfPackagesNextToBuild = listOfPackagesNextToBuild |
|
| 105 |
+ if Scheduler.listOfPackagesNextToBuild.qsize() == 0: |
|
| 106 |
+ Scheduler.logger.info("Released scheduler lock")
|
|
| 107 |
+ Scheduler.lock.release() |
|
| 108 |
+ return None |
|
| 109 |
+ |
|
| 110 |
+ packageTup = Scheduler.listOfPackagesNextToBuild.get() |
|
| 111 |
+ |
|
| 112 |
+ package = packageTup[1] |
|
| 113 |
+ Scheduler.logger.info("PackagesNextToBuild " + str(packageTup))
|
|
| 114 |
+ if Scheduler.listOfPackagesNextToBuild.qsize() > 0: |
|
| 115 |
+ ThreadPool.ThreadPool.activateWorkerThreads(Scheduler.listOfPackagesNextToBuild.qsize()) |
|
| 97 | 116 |
|
| 98 |
- if len(Scheduler.listOfPackagesNextToBuild) > 0: |
|
| 99 |
- ThreadPool.ThreadPool.activateWorkerThreads(len(Scheduler.listOfPackagesNextToBuild)) |
|
| 100 | 117 |
Scheduler.logger.info("Released scheduler lock")
|
| 101 | 118 |
Scheduler.lock.release() |
| 102 | 119 |
Scheduler.listOfPackagesCurrentlyBuilding.append(package) |
| ... | ... |
@@ -130,4 +257,4 @@ class Scheduler(object): |
| 130 | 130 |
return True |
| 131 | 131 |
return False |
| 132 | 132 |
|
| 133 |
- |
|
| 134 | 133 |
\ No newline at end of file |
| 134 |
+ |
| ... | ... |
@@ -9,6 +9,7 @@ import traceback |
| 9 | 9 |
import shutil |
| 10 | 10 |
import json |
| 11 | 11 |
import collections |
| 12 |
+import re |
|
| 12 | 13 |
|
| 13 | 14 |
class ToolChainUtils(object): |
| 14 | 15 |
|
| ... | ... |
@@ -132,7 +133,7 @@ class ToolChainUtils(object): |
| 132 | 132 |
raise Exception("RPM installation failed")
|
| 133 | 133 |
|
| 134 | 134 |
self.logger.info("Installed default toolchain successfully on chroot:"+chrootID)
|
| 135 |
- if "openjdk" in packageName or "openjre" in packageName: |
|
| 135 |
+ if re.match("openjdk*", packageName) is not None or re.match("openjdk*", packageName) is not None:
|
|
| 136 | 136 |
self.installToolChainXRPMS(chrootID); |
| 137 | 137 |
|
| 138 | 138 |
def installCoreToolChainPackages(self,chrootID): |
| ... | ... |
@@ -272,7 +273,7 @@ class ToolChainUtils(object): |
| 272 | 272 |
raise Exception("RPM installation failed")
|
| 273 | 273 |
|
| 274 | 274 |
self.logger.info("Successfully installed default Tool Chain RPMS in Chroot:"+chrootID)
|
| 275 |
- if "openjdk" in packageName or "openjre" in packageName: |
|
| 275 |
+ if re.match("openjdk*", packageName) is not None or re.match("openjdk*", packageName) is not None:
|
|
| 276 | 276 |
self.installToolChainXRPMS(chrootID); |
| 277 | 277 |
|
| 278 | 278 |
def installToolChainXRPMS(self, chrootID): |
| ... | ... |
@@ -41,6 +41,8 @@ def main(): |
| 41 | 41 |
parser.add_option("-j", "--pkg-yaml-dir-path", dest="pkgYamlDirPath", default="../../stage/")
|
| 42 | 42 |
parser.add_option("-f", "--pkg-blacklist-file", dest="pkgBlacklistFile", default=None)
|
| 43 | 43 |
parser.add_option("-F", "--kat-build", dest="katBuild", default=None)
|
| 44 |
+ parser.add_option("-D", "--publish-build-dependencies", dest="publishBuildDependencies", default=False)
|
|
| 45 |
+ parser.add_option("-W", "--package-weights-path", dest="packageWeightsPath", default=None)
|
|
| 44 | 46 |
|
| 45 | 47 |
(options, args) = parser.parse_args() |
| 46 | 48 |
cmdUtils=CommandUtils() |
| ... | ... |
@@ -79,7 +81,9 @@ def main(): |
| 79 | 79 |
if options.inputRPMSPath is not None and not os.path.isdir(options.inputRPMSPath): |
| 80 | 80 |
logger.error("Given input RPMS Path is not a directory:"+options.inputRPMSPath)
|
| 81 | 81 |
errorFlag = True |
| 82 |
- |
|
| 82 |
+ if options.packageWeightsPath is not None and not os.path.isfile(options.packageWeightsPath): |
|
| 83 |
+ logger.error("Given input Weights file is not a file:"+options.packageWeightsPath)
|
|
| 84 |
+ errorFlag = True |
|
| 83 | 85 |
if options.generatePkgYamlFiles: |
| 84 | 86 |
if options.pkgBlacklistFile is not None and options.pkgBlacklistFile != "" and not os.path.isfile(options.pkgBlacklistFile): |
| 85 | 87 |
logger.error("Given package blacklist file is not valid:"+options.pkgBlacklistFile)
|
| ... | ... |
@@ -20,6 +20,8 @@ class constants(object): |
| 20 | 20 |
rpmCheck=False |
| 21 | 21 |
sourceRpmPath="" |
| 22 | 22 |
noDepsPackageList=["texinfo","bzip2","gettext","nspr","xz","bison","go"] |
| 23 |
+ publishBuildDependencies=False |
|
| 24 |
+ packageWeightsPath=None |
|
| 23 | 25 |
listToolChainPackages=[ |
| 24 | 26 |
"linux-api-headers", |
| 25 | 27 |
"glibc", |
| ... | ... |
@@ -110,6 +112,17 @@ class constants(object): |
| 110 | 110 |
"openjdk", |
| 111 | 111 |
"openjre", |
| 112 | 112 |
"icu", |
| 113 |
+ "cups", |
|
| 114 |
+ "cups-devel", |
|
| 115 |
+ "freetype2", |
|
| 116 |
+ "freetype2-devel", |
|
| 117 |
+ "xorg-proto-devel", |
|
| 118 |
+ "libXtst", |
|
| 119 |
+ "libXtst-devel", |
|
| 120 |
+ "libXfixes", |
|
| 121 |
+ "libXfixes-devel", |
|
| 122 |
+ "libXi", |
|
| 123 |
+ "libXi-devel", |
|
| 113 | 124 |
"harfbuzz", |
| 114 | 125 |
"harfbuzz-devel", |
| 115 | 126 |
"alsa-lib", |
| ... | ... |
@@ -320,6 +333,8 @@ class constants(object): |
| 320 | 320 |
constants.pullsourcesConfig = options.pullsourcesConfig |
| 321 | 321 |
constants.inputRPMSPath=options.inputRPMSPath |
| 322 | 322 |
constants.rpmCheck = options.rpmCheck |
| 323 |
+ constants.packageWeightsPath=options.packageWeightsPath |
|
| 324 |
+ constants.publishBuildDependencies=options.publishBuildDependencies |
|
| 323 | 325 |
constants.specData = SerializableSpecObjectsUtils(constants.logPath) |
| 324 | 326 |
constants.updateRPMMacros(options) |
| 325 | 327 |
# Perform full parsing now |
| ... | ... |
@@ -2,6 +2,17 @@ noarch/proto-7.7-1.noarch.rpm |
| 2 | 2 |
noarch/util-macros-1.19.0-1.noarch.rpm |
| 3 | 3 |
x86_64/openjdk-1.8.0.112-1.x86_64.rpm |
| 4 | 4 |
x86_64/openjre-1.8.0.112-1.x86_64.rpm |
| 5 |
+x86_64/cups-2.2.7-1.x86_64.rpm |
|
| 6 |
+x86_64/cups-devel-2.2.7-1.x86_64.rpm |
|
| 7 |
+x86_64/freetype2-2.5.5-1.x86_64.rpm |
|
| 8 |
+x86_64/freetype2-devel-2.5.5-1.x86_64.rpm |
|
| 9 |
+x86_64/xorg-proto-devel-2018.4-1.x86_64.rpm |
|
| 10 |
+x86_64/libXfixes-5.0.1-1.x86_64.rpm |
|
| 11 |
+x86_64/libXfixes-devel-5.0.1-1.x86_64.rpm |
|
| 12 |
+x86_64/libXi-1.7.4-1.x86_64.rpm |
|
| 13 |
+x86_64/libXi-devel-1.7.4-1.x86_64.rpm |
|
| 14 |
+x86_64/libXtst-1.2.2-1.x86_64.rpm |
|
| 15 |
+x86_64/libXtst-devel-1.2.2-1.x86_64.rpm |
|
| 5 | 16 |
x86_64/alsa-lib-1.0.29-1.x86_64.rpm |
| 6 | 17 |
x86_64/alsa-lib-devel-1.0.29-1.x86_64.rpm |
| 7 | 18 |
x86_64/fontconfig-2.11.1-1.x86_64.rpm |