diff --git a/1000-Added-support-for-building-the-riscv64-protoc-binari.patch b/1000-Added-support-for-building-the-riscv64-protoc-binari.patch new file mode 100644 index 0000000000000000000000000000000000000000..99e378c3413cad946a1baacbba7488c6e3f7b06b --- /dev/null +++ b/1000-Added-support-for-building-the-riscv64-protoc-binari.patch @@ -0,0 +1,56 @@ +From d2e38e91ad8577126c180ca9d7587c90464f5062 Mon Sep 17 00:00:00 2001 +From: Dingli Zhang +Date: Mon, 29 Apr 2024 13:42:13 +0800 +Subject: [PATCH] Added support for building the riscv64 protoc binaries with + Kokoro + + +diff --git a/kokoro/release/protoc/linux/build.sh b/kokoro/release/protoc/linux/build.sh +index f0cde494f..c92941c47 100755 +--- a/kokoro/release/protoc/linux/build.sh ++++ b/kokoro/release/protoc/linux/build.sh +@@ -21,6 +21,9 @@ protoc-artifacts/build-protoc.sh linux aarch_64 protoc + sudo apt install -y g++-powerpc64le-linux-gnu + protoc-artifacts/build-protoc.sh linux ppcle_64 protoc + ++sudo apt install -y g++-riscv64-linux-gnu ++protoc-artifacts/build-protoc.sh linux riscv64 protoc ++ + # Use docker image to build linux artifacts. + DOCKER_IMAGE_NAME=protobuf/protoc_$(sha1sum protoc-artifacts/Dockerfile | cut -f1 -d " ") + docker pull $DOCKER_IMAGE_NAME +diff --git a/protoc-artifacts/build-protoc.sh b/protoc-artifacts/build-protoc.sh +index 54b75a6d8..cb024d6bd 100755 +--- a/protoc-artifacts/build-protoc.sh ++++ b/protoc-artifacts/build-protoc.sh +@@ -93,6 +93,8 @@ checkArch () + assertEq $format "elf64-x86-64" $LINENO + elif [[ "$ARCH" == aarch_64 ]]; then + assertEq $format "elf64-little" $LINENO ++ elif [[ "$ARCH" == riscv64 ]]; then ++ assertEq $format "elf64-littleriscv" $LINENO + elif [[ "$ARCH" == ppcle_64 ]]; then + if [[ $host_machine == ppc64le ]];then + assertEq $format "elf64-powerpcle" $LINENO +@@ -151,6 +153,9 @@ checkDependencies () + elif [[ "$ARCH" == aarch_64 ]]; then + dump_cmd='objdump -p '"$1"' | grep NEEDED' + white_list="libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux-aarch64\.so\.1" ++ elif [[ "$ARCH" == riscv64 ]]; then ++ dump_cmd='objdump -p '"$1"' | grep NEEDED' ++ white_list="libz\.so\.1\|libm\.so\.6\|libc\.so\.6\|ld-linux-riscv64-lp64d\.so\.1" + fi + elif [[ "$OS" == osx ]]; then + dump_cmd='otool -L '"$1"' | fgrep dylib' +@@ -215,6 +220,8 @@ elif [[ "$(uname)" == Linux* ]]; then + elif [[ "$ARCH" == ppcle_64 ]]; then + CXXFLAGS="$CXXFLAGS -m64" + CONFIGURE_ARGS="$CONFIGURE_ARGS --host=powerpc64le-linux-gnu" ++ elif [[ "$ARCH" == riscv64 ]]; then ++ CONFIGURE_ARGS="$CONFIGURE_ARGS --host=riscv64-linux-gnu" + else + fail "Unsupported arch: $ARCH" + fi +-- +2.41.0 + diff --git a/1001-Added-support-for-building-the-riscv64-protoc-gen-gr.patch b/1001-Added-support-for-building-the-riscv64-protoc-gen-gr.patch new file mode 100644 index 0000000000000000000000000000000000000000..e84faa05f2c2e5b2e83c1e8a40b0ddfeafb3bf72 --- /dev/null +++ b/1001-Added-support-for-building-the-riscv64-protoc-gen-gr.patch @@ -0,0 +1,175 @@ +From 78df1e23afdb5b4f53004a807f9ffa9ac13be2e1 Mon Sep 17 00:00:00 2001 +From: Dingli Zhang +Date: Mon, 29 Apr 2024 16:52:34 +0800 +Subject: [PATCH] Added support for building the riscv64 protoc-gen-grpc-java + binaries with Kokoro + + +diff --git a/build.gradle b/build.gradle +index db7be15f4..7c796341f 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -20,6 +20,8 @@ subprojects { + version = "1.26.0" // CURRENT_GRPC_VERSION + + repositories { ++ maven { url 'file://@HOME@/.m2/repository'} ++ maven { url "https://mirrors.huaweicloud.com/repository/maven/"} + maven { // The google mirror is less flaky than mavenCentral() + url "https://maven-central.storage-download.googleapis.com/repos/central/data/" } + mavenCentral() +diff --git a/buildscripts/kokoro/linux_artifacts.sh b/buildscripts/kokoro/linux_artifacts.sh +index cdf360762..b3c055e9e 100755 +--- a/buildscripts/kokoro/linux_artifacts.sh ++++ b/buildscripts/kokoro/linux_artifacts.sh +@@ -37,3 +37,7 @@ cp -r "$LOCAL_MVN_TEMP"/* "$MVN_ARTIFACT_DIR"/ + # for aarch64 platform + sudo apt-get install -y g++-aarch64-linux-gnu + SKIP_TESTS=true ARCH=aarch_64 "$GRPC_JAVA_DIR"/buildscripts/kokoro/unix.sh ++ ++# for riscv64 platform ++sudo apt-get install -y g++-riscv64-linux-gnu ++SKIP_TESTS=true ARCH=riscv64 "$GRPC_JAVA_DIR"/buildscripts/kokoro/unix.sh +diff --git a/buildscripts/kokoro/unix.sh b/buildscripts/kokoro/unix.sh +index c64bc7e22..48e36ce22 100755 +--- a/buildscripts/kokoro/unix.sh ++++ b/buildscripts/kokoro/unix.sh +@@ -9,6 +9,8 @@ + # ARCH=x86_32 ./buildscripts/kokoro/unix.sh + # For aarch64 arch: + # ARCH=aarch_64 ./buildscripts/kokoro/unix.sh ++# For riscv64 arch: ++# ARCH=riscv64 ./buildscripts/kokoro/unix.sh + + # This script assumes `set -e`. Removing it may lead to undefined behavior. + set -exu -o pipefail +@@ -36,7 +38,7 @@ GRADLE_FLAGS+=" -PtargetArch=$ARCH" + GRADLE_FLAGS+=" -Pcheckstyle.ignoreFailures=false" + GRADLE_FLAGS+=" -PfailOnWarnings=true" + GRADLE_FLAGS+=" -PerrorProne=true" +-GRADLE_FLAGS+=" -Dorg.gradle.parallel=true" ++GRADLE_FLAGS+=" -Dorg.gradle.parallel=false" + export GRADLE_OPTS="-Xmx512m" + + # Make protobuf discoverable by :grpc-compiler +@@ -72,7 +74,7 @@ fi + LOCAL_MVN_TEMP=$(mktemp -d) + # Note that this disables parallel=true from GRADLE_FLAGS + if [[ -z "${ALL_ARTIFACTS:-}" ]]; then +- if [[ $ARCH == "aarch_64" ]]; then ++ if [[ $ARCH == "aarch_64" || $ARCH == "riscv64" ]]; then + GRADLE_FLAGS+=" -x grpc-compiler:generateTestProto -x grpc-compiler:generateTestLiteProto" + GRADLE_FLAGS+=" -x grpc-compiler:testGolden -x grpc-compiler:testLiteGolden" + GRADLE_FLAGS+=" -x grpc-compiler:testDeprecatedGolden -x grpc-compiler:testDeprecatedLiteGolden" +diff --git a/buildscripts/kokoro/upload_artifacts.sh b/buildscripts/kokoro/upload_artifacts.sh +index c3c97444d..215573e5e 100644 +--- a/buildscripts/kokoro/upload_artifacts.sh ++++ b/buildscripts/kokoro/upload_artifacts.sh +@@ -30,6 +30,9 @@ LOCAL_MVN_ARTIFACTS="$KOKORO_GFILE_DIR"/github/grpc-java/mvn-artifacts/ + # for linux aarch64 platform + [[ "$(find "$LOCAL_MVN_ARTIFACTS" -type f -iname 'protoc-gen-grpc-java-*-linux-aarch_64.exe' | wc -l)" != '0' ]] + ++# for linux riscv64 platform ++[[ "$(find "$LOCAL_MVN_ARTIFACTS" -type f -iname 'protoc-gen-grpc-java-*-linux-riscv64.exe' | wc -l)" != '0' ]] ++ + # from macos job: + [[ "$(find "$LOCAL_MVN_ARTIFACTS" -type f -iname 'protoc-gen-grpc-java-*-osx-x86_64.exe' | wc -l)" != '0' ]] + +diff --git a/buildscripts/make_dependencies.sh b/buildscripts/make_dependencies.sh +index 92ef9d7f7..9b5441d5b 100755 +--- a/buildscripts/make_dependencies.sh ++++ b/buildscripts/make_dependencies.sh +@@ -7,8 +7,8 @@ PROTOBUF_VERSION=3.11.0 + + # ARCH is x86_64 bit unless otherwise specified. + ARCH="${ARCH:-x86_64}" +-DOWNLOAD_DIR=/tmp/source +-INSTALL_DIR="/tmp/protobuf-cache/$PROTOBUF_VERSION/$(uname -s)-$ARCH" ++DOWNLOAD_DIR=/var/tmp/source ++INSTALL_DIR="/var/tmp/protobuf-cache/$PROTOBUF_VERSION/$(uname -s)-$ARCH" + mkdir -p $DOWNLOAD_DIR + + # Start with a sane default +@@ -36,6 +36,8 @@ else + --prefix="$INSTALL_DIR" + elif [[ "$ARCH" == aarch* ]]; then + ./configure --disable-shared --host=aarch64-linux-gnu --prefix="$INSTALL_DIR" ++ elif [[ "$ARCH" == riscv* ]]; then ++ ./configure --disable-shared --host=riscv64-linux-gnu --prefix="$INSTALL_DIR" + fi + # the same source dir is used for 32 and 64 bit builds, so we need to clean stale data first + make clean +diff --git a/compiler/build.gradle b/compiler/build.gradle +index 098f48c30..932252a01 100644 +--- a/compiler/build.gradle ++++ b/compiler/build.gradle +@@ -55,6 +55,7 @@ model { + cppCompiler.executable = 'aarch64-linux-gnu-g++' + linker.executable = 'aarch64-linux-gnu-g++' + } ++ target("riscv64") + target("s390_64") + } + clang(Clang) { +@@ -66,6 +67,7 @@ model { + x86_64 { architecture "x86_64" } + ppcle_64 { architecture "ppcle_64" } + aarch_64 { architecture "aarch_64" } ++ riscv64 { architecture "riscv64" } + s390_64 { architecture "s390_64" } + } + +@@ -76,6 +78,7 @@ model { + 'x86_64', + 'ppcle_64', + 'aarch_64', ++ 'riscv64', + 's390_64' + ]) { + // If arch is not within the defined platforms, we do not specify the +diff --git a/compiler/check-artifact.sh b/compiler/check-artifact.sh +index 13ae89c74..e48ec227d 100755 +--- a/compiler/check-artifact.sh ++++ b/compiler/check-artifact.sh +@@ -55,12 +55,15 @@ checkArch () + format="$(objdump -f "$1" | grep -o "file format .*$" | grep -o "[^ ]*$")" + echo Format=$format + if [[ "$OS" == linux ]]; then ++ host_machine="$(uname -m)"; + if [[ "$ARCH" == x86_32 ]]; then + assertEq "$format" "elf32-i386" $LINENO + elif [[ "$ARCH" == x86_64 ]]; then + assertEq "$format" "elf64-x86-64" $LINENO + elif [[ "$ARCH" == aarch_64 ]]; then + assertEq "$format" "elf64-little" $LINENO ++ elif [[ "$ARCH" == riscv64 ]]; then ++ assertEq $format "elf64-littleriscv" $LINENO + else + fail "Unsupported arch: $ARCH" + fi +@@ -108,6 +111,9 @@ checkDependencies () + elif [[ "$ARCH" == aarch_64 ]]; then + dump_cmd='aarch64-linux-gnu-objdump -x '"$1"' |grep "NEEDED"' + white_list="linux-vdso\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux-aarch64\.so\.1" ++ elif [[ "$ARCH" == riscv64 ]]; then ++ dump_cmd='objdump -p '"$1"' | grep NEEDED' ++ white_list="libm\.so\.6\|libc\.so\.6\|ld-linux-riscv64-lp64d\.so\.1" + fi + elif [[ "$OS" == osx ]]; then + dump_cmd='otool -L '"$1"' | fgrep dylib' +diff --git a/settings.gradle b/settings.gradle +index 3f9a7e6ef..9f1c058ae 100644 +--- a/settings.gradle ++++ b/settings.gradle +@@ -2,7 +2,7 @@ pluginManagement { + plugins { + id "com.github.johnrengelman.shadow" version "2.0.4" + id "com.github.kt3k.coveralls" version "2.0.1" +- id "com.google.osdetector" version "1.4.0" ++ id "com.google.osdetector" version "1.7.2" + id "com.google.protobuf" version "0.8.8" + id "me.champeau.gradle.japicmp" version "0.2.5" + id "me.champeau.gradle.jmh" version "0.4.5" +-- +2.41.0 + diff --git a/1002-Added-support-for-building-the-riscv64-protoc-binari.patch b/1002-Added-support-for-building-the-riscv64-protoc-binari.patch new file mode 100644 index 0000000000000000000000000000000000000000..a931d9883f9528ae349083d19419ecebc9718cef --- /dev/null +++ b/1002-Added-support-for-building-the-riscv64-protoc-binari.patch @@ -0,0 +1,56 @@ +From bf28c79d4fcf26a517bf35020162770ab28374b8 Mon Sep 17 00:00:00 2001 +From: Dingli Zhang +Date: Fri, 31 May 2024 02:09:02 +0000 +Subject: [PATCH] Added support for building the riscv64 protoc binaries with + Kokoro + + +diff --git a/kokoro/release/protoc/linux/build.sh b/kokoro/release/protoc/linux/build.sh +index d165a896b..cd84a3cdb 100755 +--- a/kokoro/release/protoc/linux/build.sh ++++ b/kokoro/release/protoc/linux/build.sh +@@ -22,6 +22,9 @@ protoc-artifacts/build-protoc.sh linux aarch_64 protoc + sudo apt install -y g++-powerpc64le-linux-gnu + protoc-artifacts/build-protoc.sh linux ppcle_64 protoc + ++sudo apt install -y g++-riscv64-linux-gnu ++protoc-artifacts/build-protoc.sh linux riscv64 protoc ++ + sudo apt install -y g++-s390x-linux-gnu + protoc-artifacts/build-protoc.sh linux s390x_64 protoc + +diff --git a/protoc-artifacts/build-protoc.sh b/protoc-artifacts/build-protoc.sh +index 6ad2ea1a1..a9df70f2d 100755 +--- a/protoc-artifacts/build-protoc.sh ++++ b/protoc-artifacts/build-protoc.sh +@@ -93,6 +93,8 @@ checkArch () + assertEq $format "elf64-x86-64" $LINENO + elif [[ "$ARCH" == aarch_64 ]]; then + assertEq $format "elf64-little" $LINENO ++ elif [[ "$ARCH" == riscv64 ]]; then ++ assertEq $format "elf64-littleriscv" $LINENO + elif [[ "$ARCH" == s390x_64 ]]; then + if [[ $host_machine == s390x ]];then + assertEq $format "elf64-s390" $LINENO +@@ -162,6 +164,9 @@ checkDependencies () + elif [[ "$ARCH" == aarch_64 ]]; then + dump_cmd='objdump -p '"$1"' | grep NEEDED' + white_list="libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux-aarch64\.so\.1" ++ elif [[ "$ARCH" == riscv64 ]]; then ++ dump_cmd='objdump -p '"$1"' | grep NEEDED' ++ white_list="libz\.so\.1\|libm\.so\.6\|libc\.so\.6\|ld-linux-riscv64-lp64d\.so\.1" + fi + elif [[ "$OS" == osx ]]; then + dump_cmd='otool -L '"$1"' | fgrep dylib' +@@ -226,6 +231,8 @@ elif [[ "$(uname)" == Linux* ]]; then + elif [[ "$ARCH" == ppcle_64 ]]; then + CXXFLAGS="$CXXFLAGS -m64" + CONFIGURE_ARGS="$CONFIGURE_ARGS --host=powerpc64le-linux-gnu" ++ elif [[ "$ARCH" == riscv64 ]]; then ++ CONFIGURE_ARGS="$CONFIGURE_ARGS --host=riscv64-linux-gnu" + elif [[ "$ARCH" == s390x_64 ]]; then + CXXFLAGS="$CXXFLAGS -m64" + CONFIGURE_ARGS="$CONFIGURE_ARGS --host=s390x-linux-gnu" +-- +2.41.0 + diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000000000000000000000000000000000000..d1da54fb440d2e684072ff27214574099d6c7389 --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + hadoop-protoc + hadoop-protoc-gen-grpc-java + diff --git a/gradle-5.6.2-bin.zip b/gradle-5.6.2-bin.zip new file mode 100644 index 0000000000000000000000000000000000000000..9a5114938aa302e23b63ab20a1188ec211bb1171 Binary files /dev/null and b/gradle-5.6.2-bin.zip differ diff --git a/hadoop-protoc-gen-grpc-java.spec b/hadoop-protoc-gen-grpc-java.spec new file mode 100644 index 0000000000000000000000000000000000000000..83e67860ddb28f1920b9dbd5bc038a11b12abf7d --- /dev/null +++ b/hadoop-protoc-gen-grpc-java.spec @@ -0,0 +1,75 @@ +%global _debuginfo_template %{nil} +%global _debugsource_template %{nil} +%global protobuf_version 3.11.0 +%global gradle_version 5.6.2 + +Name: hadoop-protoc-gen-grpc-java +Version: 1.26.0 +Release: 1 +Summary: Protobuf gRPC compiler for Java +License: MIT +URL: https://github.com/grpc/grpc-java +Source0: https://github.com/grpc/grpc-java/archive/refs/tags/v%{version}.tar.gz +Source1: https://services.gradle.org/distributions/gradle-%{gradle_version}-bin.zip +Source2: https://github.com/google/protobuf/releases/download/v%{protobuf_version}/protobuf-all-%{protobuf_version}.tar.gz +Source3: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v%{protobuf_version}.tar.gz + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: zlib-devel +BuildRequires: libstdc++-static +BuildRequires: libstdc++-static +BuildRequires: java-1.8.0-openjdk-devel maven maven-local + +Patch0: 1001-Added-support-for-building-the-riscv64-protoc-gen-gr.patch +Patch1: 1002-Added-support-for-building-the-riscv64-protoc-binari.patch + +%description +Protobuf gRPC compiler for Java. + +%prep +%setup -q -n grpc-java-%{version} +%patch0 -p1 + +sed -i "s,@HOME@,${HOME},g" build.gradle +sed -i 's|https\\://services.gradle.org/distributions|file://%{_tmppath}/source|g' gradle/wrapper/gradle-wrapper.properties + +# prepare gradle and protobuf for build +mkdir -p %{_tmppath}/source +cp %{SOURCE1} %{_tmppath}/source +tar xzf %{SOURCE2} -C %{_tmppath}/source +mkdir -p %{_tmppath}/source/protoc-gen-tmp +tar xzf %{SOURCE3} -C %{_tmppath}/source/protoc-gen-tmp + +# prepare protoc.exe for build +pushd %{_tmppath}/source/protoc-gen-tmp/protobuf-%{protobuf_version} +%patch1 -p1 +./autogen.sh +%ifarch riscv64 +./protoc-artifacts/build-protoc.sh linux riscv64 protoc +mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=%{protobuf_version} -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=./protoc-artifacts/target/linux/riscv64/protoc.exe +%endif +popd + +%build +%ifarch riscv64 +SKIP_TESTS=true ARCH=riscv64 ./buildscripts/kokoro/unix.sh +%endif + +%install +install -d -m 0755 %{buildroot}%{_bindir}/%{name}-%{version} +%ifarch riscv64 +install -m 0755 mvn-artifacts/io/grpc/protoc-gen-grpc-java/%{version}/protoc-gen-grpc-java-%{version}-linux-riscv64.exe %{buildroot}%{_bindir}/%{name}-%{version}/protoc-gen-grpc-java-%{version}-linux-riscv64.exe +%endif + +%files +%ifarch riscv64 +%{_bindir}/%{name}-%{version}/protoc-gen-grpc-java-%{version}-linux-riscv64.exe +%endif + +%changelog +* Thu May 30 2024 Dingli Zhang - 1.26.0-1 +- init package \ No newline at end of file diff --git a/hadoop-protoc.spec b/hadoop-protoc.spec new file mode 100644 index 0000000000000000000000000000000000000000..a903ef838f06f173e88f24014a7aacff4ddcd531 --- /dev/null +++ b/hadoop-protoc.spec @@ -0,0 +1,60 @@ +%global _debuginfo_template %{nil} +%global _debugsource_template %{nil} + +Summary: Protocol Buffers - Google's data interchange format +Name: hadoop-protoc +Version: 3.7.1 +Release: 1%{?dist} +License: BSD +URL: https://github.com/protocolbuffers/protobuf +Source: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v%{version}%{?rcver}.tar.gz + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: zlib-devel +BuildRequires: libstdc++-static + +Patch0: 1000-Added-support-for-building-the-riscv64-protoc-binari.patch + +%description +Protocol Buffers are a way of encoding structured data in an efficient +yet extensible format. Google uses Protocol Buffers for almost all of +its internal RPC protocols and file formats. + +Protocol buffers are a flexible, efficient, automated mechanism for +serializing structured data – think XML, but smaller, faster, and +simpler. You define how you want your data to be structured once, then +you can use special generated source code to easily write and read +your structured data to and from a variety of data streams and using a +variety of languages. You can even update your data structure without +breaking deployed programs that are compiled against the "old" format. + +%prep +%setup -q -n protobuf-%{version}%{?rcver} +%patch0 -p1 + +%build +./autogen.sh +pushd protoc-artifacts +%ifarch riscv64 +./build-protoc.sh linux riscv64 protoc +%endif +popd + +%install +install -d -m 0755 %{buildroot}%{_bindir}/%{name}-%{version}%{?rcver} +%ifarch riscv64 +install -m 0755 protoc-artifacts/target/linux/riscv64/protoc.exe %{buildroot}%{_bindir}/%{name}-%{version}%{?rcver}/protoc.exe +%endif + +%files +%ifarch riscv64 +%{_bindir}/%{name}-%{version}%{?rcver}/protoc.exe +%endif + +%changelog +* Thu May 30 2024 Dingli Zhang - 3.7.1-1 +- init package \ No newline at end of file diff --git a/hadoop.spec b/hadoop.spec index 10499c99abf1c19559dee486f82ce76ddbd7d8a5..d5ba248f5020b1c6cac9e43c9cc3047ce008e7cc 100644 --- a/hadoop.spec +++ b/hadoop.spec @@ -11,7 +11,7 @@ %define _binaries_in_noarch_packages_terminate_build 0 Name: hadoop Version: 3.3.6 -Release: 3 +Release: 4 Summary: A software platform for processing vast amounts of data # The BSD license file is missing # https://issues.apache.org/jira/browse/HADOOP-9849 @@ -34,8 +34,6 @@ Source13: %{name}-yarn-site.xml Source14: yarn-v1.22.5.tar.gz Source15: node-12.22.1-linux-x64.tar.gz Source16: node-v12.22.1-linux-arm64.tar.gz -Source17: protoc-3.7.1-linux-riscv64.exe -Source18: protoc-gen-grpc-java-1.26.0-linux-riscv_64.exe Patch0: 01-lock-triple-beam-version-to-1.3.0.patch Patch1: 02-Upgrade-os-maven-plugin-to-1.7.1.patch @@ -46,6 +44,10 @@ BuildRequires: java-1.8.0-openjdk-devel maven hostname maven-local tomcat cmake BuildRequires: cyrus-sasl-devel chrpath systemd protobuf2-compiler protobuf2-devel protobuf2-java protobuf2 BuildRequires: leveldbjni leveldb-java hawtjni-runtime gcc-c++ BuildRequires: npm chrpath +%ifarch riscv64 +BuildRequires: hadoop-protoc hadoop-protoc-gen-grpc-java +%endif + Requires: java-1.8.0-openjdk protobuf2-java apache-zookeeper %description @@ -260,8 +262,8 @@ This package contains files needed to run Apache Hadoop YARN in secure mode. %autosetup -p1 -n %{name}-%{version}-src %ifarch riscv64 mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=/usr/bin/protoc -mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.7.1 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=%{SOURCE17} -mvn install:install-file -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.26.0 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=%{SOURCE18} +mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.7.1 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=/usr/bin/%{name}-protoc-3.7.1/protoc.exe +mvn install:install-file -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.26.0 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=/usr/bin/%{name}-protoc-gen-grpc-java-1.26.0/protoc-gen-grpc-java-1.26.0-linux-riscv64.exe %endif mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni-all -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni-all.jar mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni/leveldbjni.jar @@ -1159,6 +1161,10 @@ fi %config(noreplace) %{_sysconfdir}/%{name}/container-executor.cfg %changelog +* Mon Jun 3 2024 Dingli Zhang - 3.3.6-4 +- Remove binary and tar files for riscv64 +- Add multibuild spec because of no artifact for riscv64 on Maven Central Repository + * Sun May 12 2024 Dingli Zhang - 3.3.6-3 - Fix build on riscv64 - Upgrade os-maven-plugin to 1.7.1 diff --git a/protoc-3.7.1-linux-riscv64.exe b/protobuf-all-3.11.0.tar.gz similarity index 39% rename from protoc-3.7.1-linux-riscv64.exe rename to protobuf-all-3.11.0.tar.gz index 1df6bd51c1dfc28a20b2db34b51fa464f3476336..de5f76aaefe2c1e18ffb112e612b9aa2d8caf437 100644 Binary files a/protoc-3.7.1-linux-riscv64.exe and b/protobuf-all-3.11.0.tar.gz differ diff --git a/protoc-gen-grpc-java-1.26.0-linux-riscv_64.exe b/protoc-gen-grpc-java-1.26.0-linux-riscv_64.exe deleted file mode 100644 index e162d4128a1d09c19bcee67fc4ac078265c16413..0000000000000000000000000000000000000000 Binary files a/protoc-gen-grpc-java-1.26.0-linux-riscv_64.exe and /dev/null differ diff --git a/v1.26.0.tar.gz b/v1.26.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e2e1254670c6f449449b522313a07738734f9ebd Binary files /dev/null and b/v1.26.0.tar.gz differ diff --git a/v3.11.0.tar.gz b/v3.11.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..dcd77e1ae405e6cbf6d0657b870665ffaa7c5607 Binary files /dev/null and b/v3.11.0.tar.gz differ diff --git a/v3.7.1.tar.gz b/v3.7.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1f6ae64199846d92122afca23601df5d2aa587f8 Binary files /dev/null and b/v3.7.1.tar.gz differ