Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xgboost for openSUSE:Factory checked in at 2023-10-04 22:30:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xgboost (Old) and /work/SRC/openSUSE:Factory/.xgboost.new.28202 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xgboost" Wed Oct 4 22:30:47 2023 rev:4 rq:1114849 version:0.90 Changes: -------- --- /work/SRC/openSUSE:Factory/xgboost/xgboost.changes 2022-11-29 10:54:20.209108946 +0100 +++ /work/SRC/openSUSE:Factory/.xgboost.new.28202/xgboost.changes 2023-10-04 22:31:24.331541550 +0200 @@ -1,0 +2,10 @@ +Mon Oct 2 16:25:56 UTC 2023 - Fridrich Strba <fst...@suse.com> + +- Build using ant to avoid dependency on scala-maven-plugin +- Build with source/target 8 so that it eventually can be built + using OpenJDK 21 +- Removed patch: + * use-python3.patch + + not needed any more since we call the python3 from spec file + +------------------------------------------------------------------- Old: ---- use-python3.patch New: ---- xgboost4j-build.xml ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xgboost.spec ++++++ --- /var/tmp/diff_new_pack.C8USkx/_old 2023-10-04 22:31:25.819595334 +0200 +++ /var/tmp/diff_new_pack.C8USkx/_new 2023-10-04 22:31:25.819595334 +0200 @@ -1,7 +1,7 @@ # # spec file for package xgboost # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,6 +16,9 @@ # +%global scala_short_version 2.10 +%global scala_version %{scala_short_version}.7 +%global artifactId xgboost4j Name: xgboost Version: 0.90 Release: 0 @@ -23,22 +26,21 @@ License: Apache-2.0 URL: https://github.com/dmlc/%{name} Source0: %{name}-%{version}.tar.xz +Source1: %{artifactId}-build.xml Patch0: xgboost-fix-big-endian.patch -Patch1: use-python3.patch +BuildRequires: akka +BuildRequires: ant +BuildRequires: ant-scala +BuildRequires: apache-commons-logging BuildRequires: cmake BuildRequires: fdupes BuildRequires: gcc-c++ -BuildRequires: maven-local +BuildRequires: javapackages-local >= 6 +BuildRequires: kryo +BuildRequires: objenesis BuildRequires: python3 -BuildRequires: mvn(com.esotericsoftware.kryo:kryo) -BuildRequires: mvn(com.typesafe.akka:akka-actor_2.10) -BuildRequires: mvn(commons-logging:commons-logging) -BuildRequires: mvn(net.alchim31.maven:scala-maven-plugin) -BuildRequires: mvn(org.codehaus.mojo:exec-maven-plugin) -BuildRequires: mvn(org.scala-lang:scala-compiler) -BuildRequires: mvn(org.scala-lang:scala-library) -BuildRequires: mvn(org.scala-lang:scala-reflect) -#!BuildRequires: sbt +BuildRequires: scala +BuildRequires: typesafe-config %description Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or @@ -54,41 +56,43 @@ %prep %setup -q +cp %{SOURCE1} jvm-packages/%{artifactId}/build.xml %ifarch s390x ppc64 %patch0 %endif -%patch1 -p1 pushd jvm-packages -%pom_remove_plugin :scalatest-maven-plugin -%pom_remove_plugin :scalastyle-maven-plugin -%pom_remove_plugin :maven-checkstyle-plugin - -%pom_disable_module xgboost4j-example -%pom_disable_module xgboost4j-spark -%pom_disable_module xgboost4j-flink - -%pom_xpath_set pom:project/pom:properties/pom:scala.version 2.10.7 -%pom_xpath_set pom:project/pom:properties/pom:scala.binary.version 2.10 +%pom_xpath_set pom:project/pom:properties/pom:scala.version %{scala_version} +%pom_xpath_set pom:project/pom:properties/pom:scala.binary.version %{scala_short_version} +popd %build pushd jvm-packages -%{mvn_build} -f -- \ -%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0} - -DaddScalacArgs="-nobootcp" -Dmaven.compiler.release=7 \ -%endif - -Dsource=7 +python3 create_jni.py +popd +pushd jvm-packages/%{artifactId} +mkdir -p lib +build-jar-repository -s lib akka kryo commons-logging scala typesafe-config objenesis/objenesis +%{ant} jar javadoc popd %install -pushd jvm-packages -%mvn_install -rm -f %{buildroot}%{_javadocdir}/%{name}/javadoc.sh +pushd jvm-packages/%{artifactId} +install -dm 0755 %{buildroot}%{_jnidir}/%{name} +install -pm 0644 target/%{artifactId}-%{version}.jar %{buildroot}%{_jnidir}/%{name}/%{artifactId}.jar + +install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name} +%{mvn_install_pom} pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{artifactId}.pom +%add_maven_depmap %{name}/%{artifactId}.pom %{name}/%{artifactId}.jar + +install -dm 0755 %{buildroot}%{_javadocdir} +cp -r target/site/apidocs %{buildroot}%{_javadocdir}/%{name} %fdupes -s %{buildroot}%{_javadocdir} popd -%files -f jvm-packages/.mfiles +%files -f jvm-packages/%{artifactId}/.mfiles %license LICENSE -%files javadoc -f jvm-packages/.mfiles-javadoc +%files javadoc +%{_javadocdir}/%{name} %license LICENSE ++++++ xgboost4j-build.xml ++++++ <?xml version="1.0" encoding="UTF-8"?> <project name="xgboost4j" default="package" basedir="."> <!-- ====================================================================== --> <!-- Build environment properties --> <!-- ====================================================================== --> <property file="build.properties"/> <property name="project.groupId" value="com.fasterxml.jackson.core"/> <property name="project.artifactId" value="xgboost4j"/> <property name="project.version" value="0.90"/> <property name="compiler.release" value="8"/> <property name="compiler.source" value="1.${compiler.release}"/> <property name="compiler.target" value="${compiler.source}"/> <property name="build.finalName" value="${project.artifactId}-${project.version}"/> <property name="build.dir" value="target"/> <property name="build.outputDir" value="${build.dir}/classes"/> <property name="build.srcDirJava" value="src/main/java"/> <property name="build.srcDirScala" value="src/main/scala"/> <property name="build.resourceDir" value="src/main/resources"/> <property name="reporting.outputDirectory" value="${build.dir}/site"/> <!-- ====================================================================== --> <!-- Defining classpaths --> <!-- ====================================================================== --> <path id="build.classpath"> <fileset dir="lib"> <include name="**/*.jar"/> </fileset> </path> <target name="init"> <taskdef resource="scala/tools/ant/antlib.xml" classpathref="build.classpath"/> </target> <!-- ====================================================================== --> <!-- Cleaning up target --> <!-- ====================================================================== --> <target name="clean" description="Clean the output directory"> <delete dir="${build.dir}"/> </target> <!-- ====================================================================== --> <!-- Compilation target --> <!-- ====================================================================== --> <target name="compile" depends="init" description="Compile the code"> <mkdir dir="${build.outputDir}"/> <scalac destdir="${build.outputDir}" > <src> <pathelement location="${build.srcDirJava}"/> <pathelement location="${build.srcDirScala}"/> </src> <classpath refid="build.classpath"/> </scalac> <javac destdir="${build.outputDir}" nowarn="false" debug="true" encoding="UTF-8" optimize="false" deprecation="true" release="${compiler.release}" target="${compiler.target}" verbose="false" fork="false" source="${compiler.source}"> <src> <pathelement location="${build.srcDirJava}"/> </src> <classpath refid="build.classpath"/> </javac> <copy todir="${build.outputDir}" > <fileset dir="${build.resourceDir}"> <exclude name="**/*.so"/> <exclude name="**/*.dll"/> <exclude name="**/*.dylib"/> </fileset> <filterchain> <expandproperties> <propertyset> <propertyref name="project.version"/> </propertyset> </expandproperties> </filterchain> </copy> <copy todir="${build.outputDir}" > <fileset dir="${build.resourceDir}"/> </copy> </target> <!-- ====================================================================== --> <!-- Javadoc target --> <!-- ====================================================================== --> <target name="javadoc" depends="init" description="Generates the Javadoc of the application"> <mkdir dir="${reporting.outputDirectory}/apidocs"/> <scaladoc deprecation="yes" unchecked="yes" destdir="${reporting.outputDirectory}/apidocs"> <src> <pathelement location="${build.srcDirJava}"/> <pathelement location="${build.srcDirScala}"/> </src> <classpath refid="build.classpath"/> </scaladoc> </target> <!-- ====================================================================== --> <!-- Package target --> <!-- ====================================================================== --> <target name="package" depends="compile" description="Package the application"> <jar jarfile="${build.dir}/${build.finalName}.jar" compress="true" index="false" basedir="${build.outputDir}" excludes="**/package.html"/> </target> <!-- ====================================================================== --> <!-- A dummy target for the package named after the type it creates --> <!-- ====================================================================== --> <target name="jar" depends="package" description="Builds the jar for the application"/> </project>