diff --git a/1000-Add-protoc-java-support-for-riscv64.patch b/1000-Add-protoc-java-support-for-riscv64.patch new file mode 100644 index 0000000000000000000000000000000000000000..3628aad37bbc6a8434cc4f46e2c5578f72f44800 --- /dev/null +++ b/1000-Add-protoc-java-support-for-riscv64.patch @@ -0,0 +1,23 @@ +From 2c52801962444baa444401b8fafd09bd6cfab92b Mon Sep 17 00:00:00 2001 +From: Dingli Zhang +Date: Thu, 9 May 2024 00:02:35 +0800 +Subject: [PATCH] Add support for riscv64 + +--- + src/main/java/com/github/os72/protocjar/PlatformDetector.java | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/main/java/com/github/os72/protocjar/PlatformDetector.java b/src/main/java/com/github/os72/protocjar/PlatformDetector.java +index 7a99348..b8f08e5 100644 +--- a/src/main/java/com/github/os72/protocjar/PlatformDetector.java ++++ b/src/main/java/com/github/os72/protocjar/PlatformDetector.java +@@ -211,6 +211,9 @@ private static String normalizeArch(String value) { + if ("ppc64le".equals(value)) { + return "ppcle_64"; + } ++ if ("riscv64".equals(value)) { ++ return "riscv64"; ++ } + if ("s390".equals(value)) { + return "s390_32"; + } diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000000000000000000000000000000000000..a2a4143d0f8cc2bdb55f02a65716ba9062170839 --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + hive-protoc-jar + hive-protoc-jar-maven-plugin + diff --git a/hive-protoc-jar-maven-plugin.spec b/hive-protoc-jar-maven-plugin.spec new file mode 100644 index 0000000000000000000000000000000000000000..6d4524aee4c62b2d54e69a2078fbf39e4a50e7a8 --- /dev/null +++ b/hive-protoc-jar-maven-plugin.spec @@ -0,0 +1,50 @@ +%global _debuginfo_template %{nil} +%global _debugsource_template %{nil} + +Name: hive-protoc-jar-maven-plugin +version: 3.5.1.1 +Release: 1 +Summary: Protocol Buffers codegen plugin - based on protoc-jar executable JAR +License: ASL 2.0 +URL: https://github.com/os72/protoc-jar-maven-plugin/ +BuildArch: noarch +Source0: https://github.com/os72/protoc-jar-maven-plugin/archive/refs/tags/v%{version}.zip + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: zlib-devel +BuildRequires: libstdc++-static +BuildRequires: maven maven-local +%ifarch riscv64 +BuildRequires: hive-protoc-jar +%endif +ExclusiveArch: riscv64 + +%description +Protocol Buffers protobuf maven plugin - performs protobuf code generation using +protoc-jar multi-platform executable protoc JAR. + +%prep +%setup -n protoc-jar-maven-plugin-%{version} +mvn install:install-file -DpomFile=/usr/share/maven-poms/hive-protoc-jar-%{version}/pom.xml -Dfile=/usr/share/java/hive-protoc-jar-%{version}/protoc-jar-%{version}.jar + +%build +mvn clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true + +%install +install -d -m 0755 %{buildroot}%{_javadir}/%{name}-%{version} +install -m 0755 target/protoc-jar-maven-plugin-%{version}.jar %{buildroot}%{_javadir}/%{name}-%{version}/protoc-jar-maven-plugin-%{version}.jar +echo %{_javadir}/%{name}-%{version}/protoc-jar-maven-plugin-%{version}.jar >> .mfiles + +install -d -m 0755 %{buildroot}%{_mavenpomdir}/%{name}-%{version} +install -m 0755 pom.xml %{buildroot}%{_mavenpomdir}/%{name}-%{version}/pom.xml +echo %{_mavenpomdir}/%{name}-%{version}/pom.xml >> .mfiles + +%files -f .mfiles + +%changelog +* Mon Jun 3 2024 Dingli Zhang - 3.5.1.1-1 +- init package diff --git a/hive-protoc-jar.spec b/hive-protoc-jar.spec new file mode 100644 index 0000000000000000000000000000000000000000..b7fed766ffa079e9470e7c7660af1a0d2e9f935d --- /dev/null +++ b/hive-protoc-jar.spec @@ -0,0 +1,49 @@ +%global _debuginfo_template %{nil} +%global _debugsource_template %{nil} + +Name: hive-protoc-jar +version: 3.5.1.1 +Release: 1 +Summary: Protocol Buffers compiler - executable JAR and API +License: ASL 2.0 +URL: https://github.com/os72/protoc-jar/ +BuildArch: noarch +Source0: https://github.com/os72/protoc-jar/archive/refs/tags/v%{version}.tar.gz + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: zlib-devel +BuildRequires: libstdc++-static +BuildRequires: maven maven-local + +Patch0: 1000-Add-protoc-java-support-for-riscv64.patch + +ExclusiveArch: riscv64 + +%description +Protocol Buffers protobuf compiler - multi-platform executable protoc JAR and API. + +%prep +%setup -n protoc-jar-%{version} +%patch0 -p1 + +%build +mvn clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true + +%install +install -d -m 0755 %{buildroot}%{_javadir}/%{name}-%{version} +install -m 0755 target/protoc-jar-%{version}.jar %{buildroot}%{_javadir}/%{name}-%{version}/protoc-jar-%{version}.jar +echo %{_javadir}/%{name}-%{version}/protoc-jar-%{version}.jar >> .mfiles + +install -d -m 0755 %{buildroot}%{_mavenpomdir}/%{name}-%{version} +install -m 0755 pom.xml %{buildroot}%{_mavenpomdir}/%{name}-%{version}/pom.xml +echo %{_mavenpomdir}/%{name}-%{version}/pom.xml >> .mfiles + +%files -f .mfiles + +%changelog +* Mon Jun 3 2024 Dingli Zhang - 3.5.1.1-1 +- init package diff --git a/hive.spec b/hive.spec index bd6f286f6b88875c34a13bb65abc281d566d3d4e..5a132743ace126e3ae2b5f5e3e4d080f8f5ef8fb 100644 --- a/hive.spec +++ b/hive.spec @@ -2,7 +2,7 @@ Name: hive Version: 3.1.3 -Release: 3 +Release: 4 Summary: The Apache Hadoop data warehouse License: Apache-2.0 and Python-2.0 and MPL-2.0 and BSD and ICU @@ -13,10 +13,11 @@ Source1: xmvn-reactor Source2: pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar Source3: guava-27.0-jre.jar Source4: mysql-connector-java.jar -Source5: protoc-jar-3.5.1.1.tar.gz -Source6: protoc-jar-maven-plugin-3.5.1.1.tar.gz BuildRequires: cmake java-1.8.0-openjdk-devel maven xmvn xmvn-install gradle-local maven-local protobuf2-devel protobuf2-compiler +%ifarch riscv64 +BuildRequires: hive-protoc-jar hive-protoc-jar-maven-plugin +%endif Requires: java-1.8.0-openjdk BuildArch: noarch @@ -32,10 +33,8 @@ mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dver mvn install:install-file -DgroupId=org.pentaho -DartifactId=pentaho-aggdesigner-algorithm -Dversion=5.1.5-jhyde -Dpackaging=jar -Dfile=%{SOURCE2} %if "%{_arch}" == "riscv64" mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=/usr/bin/protoc -mkdir -p ${HOME}/.m2/repository/com/github/os72/protoc-jar/ -tar -mxf %{SOURCE5} -C ${HOME}/.m2/repository/com/github/os72/protoc-jar/ -mkdir -p ${HOME}/.m2/repository/com/github/os72/protoc-jar-maven-plugin/ -tar -mxf %{SOURCE6} -C ${HOME}/.m2/repository/com/github/os72/protoc-jar-maven-plugin/ +mvn install:install-file -DpomFile=/usr/share/maven-poms/%{name}-protoc-jar-3.5.1.1/pom.xml -Dfile=/usr/share/java/%{name}-protoc-jar-3.5.1.1/protoc-jar-3.5.1.1.jar +mvn install:install-file -DpomFile=/usr/share/maven-poms/%{name}-protoc-jar-maven-plugin-3.5.1.1/pom.xml -Dfile=/usr/share/java/%{name}-protoc-jar-maven-plugin-3.5.1.1/protoc-jar-maven-plugin-3.5.1.1.jar %endif cp %{SOURCE1} ./.xmvn-reactor echo `pwd` > absolute_prefix.log @@ -132,6 +131,10 @@ ln -s %{_javadir}/%{name}/%{name}-shims.jar %{buildroot}%{_datadir}/hadoop/mapre %changelog +* Mon Jun 3 2024 Dingli Zhang - 3.1.3-4 +- Remove binary and tar files for riscv64 +- Add multibuild spec because of no artifact for riscv64 on Maven Central Repository + * Wed May 29 2024 Dingli Zhang - 3.1.3-3 - Fix riscv64 support diff --git a/protoc-jar-3.5.1.1.tar.gz b/protoc-jar-3.5.1.1.tar.gz deleted file mode 100644 index afd1f372203bde1b8054a5d42dff58fa0c605cd4..0000000000000000000000000000000000000000 Binary files a/protoc-jar-3.5.1.1.tar.gz and /dev/null differ diff --git a/protoc-jar-maven-plugin-3.5.1.1.tar.gz b/protoc-jar-maven-plugin-3.5.1.1.tar.gz deleted file mode 100644 index 3b69947b0afcdaf053f8b40f516cae72f8ccbd16..0000000000000000000000000000000000000000 Binary files a/protoc-jar-maven-plugin-3.5.1.1.tar.gz and /dev/null differ diff --git a/v3.5.1.1.tar.gz b/v3.5.1.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e4f1dfe5cce856d4efc901d7e4e379b4e3b38a9d Binary files /dev/null and b/v3.5.1.1.tar.gz differ diff --git a/v3.5.1.1.zip b/v3.5.1.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..ebc041913f1569738f82f3974df70a1687516b4c Binary files /dev/null and b/v3.5.1.1.zip differ