已开启
add support for loongarch64 #143
dpdwaj创建于 6月30日
add support for loongarch64 #143
已开启
dpdwaj创建于 6月30日
5 个文件变更+49-2
@@ -0,0 +1,35 @@
1+From 04f5fce64211389ea3ad09d66b76818e4d1edaa5 Mon Sep 17 00:00:00 2001
2+From: doupengda <doupengda@loongson.cn>
3+Date: Thu, 25 Jun 2026 19:45:41 +0800
4+Subject: [PATCH] hadoop-mapreduce-client-nativetask add support for
5+ loongarch64
6+ 
7+---
8+ .../src/main/native/src/lib/primitives.h | 4 ++--
9+ 1 file changed, 2 insertions(+), 2 deletions(-)
10+ 
11+diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h
12+index 70e94487..c7eb2066 100644
13+--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h
14++++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h
15+@@ -99,7 +99,7 @@ inline void simple_memcpy(void * dest, const void * src, size_t len) {
16+ inline uint32_t bswap(uint32_t val) {
17+ #ifdef __aarch64__
18+ __asm__("rev %w[dst], %w[src]" : [dst]"=r"(val) : [src]"r"(val));
19+-#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)
20++#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)||(__loongarch64)
21+ return __builtin_bswap32(val);
22+ #else
23+ __asm__("bswap %0" : "=r" (val) : "0" (val));
24+@@ -110,7 +110,7 @@ inline uint32_t bswap(uint32_t val) {
25+ inline uint64_t bswap64(uint64_t val) {
26+ #ifdef __aarch64__
27+ __asm__("rev %[dst], %[src]" : [dst]"=r"(val) : [src]"r"(val));
28+-#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)
29++#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)||(__loongarch64)
30+ return __builtin_bswap64(val);
31+ #else
32+ #ifdef __X64
33+--
34+2.54.0
35+ 
@@ -13,7 +13,7 @@
13 13 
14Name: hadoop14Name: hadoop
15Version: 3.3.615Version: 3.3.6
16-Release: 816+Release: 9
17Summary: A software platform for processing vast amounts of data17Summary: A software platform for processing vast amounts of data
18# The BSD license file is missing18# The BSD license file is missing
19# https://issues.apache.org/jira/browse/HADOOP-984919# https://issues.apache.org/jira/browse/HADOOP-9849
@@ -41,11 +41,15 @@ Source18: https://github.com/grpc/grpc-java/archive/refs/tags/v1.26.0.tar.gz
41Source19: https://services.gradle.org/distributions/gradle-5.6.2-bin.zip41Source19: https://services.gradle.org/distributions/gradle-5.6.2-bin.zip
42Source20: https://github.com/google/protobuf/releases/download/v3.11.0/protobuf-all-3.11.0.tar.gz42Source20: https://github.com/google/protobuf/releases/download/v3.11.0/protobuf-all-3.11.0.tar.gz
43Source21: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.11.0.tar.gz43Source21: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.11.0.tar.gz
44+Source22: protoc-2.5.0-linux-loongarch_64.exe
45+Source23: protoc-3.7.1-linux-loongarch_64.exe
46+Source24: protoc-gen-grpc-java-1.26.0-linux-loongarch_64.exe
44 47 
45Patch0: 01-lock-triple-beam-version-to-1.3.0.patch48Patch0: 01-lock-triple-beam-version-to-1.3.0.patch
46Patch1: 02-Upgrade-os-maven-plugin-to-1.7.1.patch49Patch1: 02-Upgrade-os-maven-plugin-to-1.7.1.patch
47Patch2: 03-Fix-build-on-riscv.patch50Patch2: 03-Fix-build-on-riscv.patch
48Patch3: 04-Enhance-access-control-for-RunJar.patch51Patch3: 04-Enhance-access-control-for-RunJar.patch
52+Patch4: 05-hadoop-mapreduce-client-nativetask-add-support-for-loongarch64.patch
49 53 
50Patch1000: 1000-Added-support-for-building-the-riscv64-protoc-binari.patch54Patch1000: 1000-Added-support-for-building-the-riscv64-protoc-binari.patch
51Patch1001: 1001-Added-support-for-building-the-riscv64-protoc-gen-gr.patch55Patch1001: 1001-Added-support-for-building-the-riscv64-protoc-gen-gr.patch
@@ -310,6 +314,11 @@ mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dver
310%setup -n %{name}-%{version}-src314%setup -n %{name}-%{version}-src
311%autopatch -M999 -p1315%autopatch -M999 -p1
312%endif316%endif
317+%ifarch loongarch64
318+mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-loongarch_64 -Dpackaging=exe -Dfile=%{SOURCE22}
319+mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.7.1 -Dclassifier=linux-loongarch_64 -Dpackaging=exe -Dfile=%{SOURCE23}
320+mvn install:install-file -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.26.0 -Dclassifier=linux-loongarch_64 -Dpackaging=exe -Dfile=%{SOURCE24}
321+%endif
313mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni-all -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni-all.jar322mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni-all -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni-all.jar
314mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni/leveldbjni.jar323mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni/leveldbjni.jar
315mvn install:install-file -DgroupId=org.iq80.leveldb -DartifactId=leveldb-api -Dversion=0.7 -Dpackaging=jar -Dfile=/usr/share/java/leveldb-java/leveldb-api.jar324mvn install:install-file -DgroupId=org.iq80.leveldb -DartifactId=leveldb-api -Dversion=0.7 -Dpackaging=jar -Dfile=/usr/share/java/leveldb-java/leveldb-api.jar
@@ -342,7 +351,7 @@ ${HOME}/.m2/repository/com/github/eirslett/yarn/1.22.5/yarn-v1.22.5/bin/yarn con
342%pom_disable_module hadoop-azure hadoop-tools351%pom_disable_module hadoop-azure hadoop-tools
343%pom_disable_module hadoop-yarn-server-timelineservice-hbase-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml352%pom_disable_module hadoop-yarn-server-timelineservice-hbase-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml
344 353 
345-%ifarch riscv64354+%ifarch riscv64 loongarch64
346%pom_disable_module hadoop-yarn-applications-catalog-webapp hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/pom.xml355%pom_disable_module hadoop-yarn-applications-catalog-webapp hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/pom.xml
347%endif356%endif
348 357 
@@ -1206,6 +1215,9 @@ fi
1206%config(noreplace) %{_sysconfdir}/%{name}/container-executor.cfg1215%config(noreplace) %{_sysconfdir}/%{name}/container-executor.cfg
1207 1216 
1208%changelog1217%changelog
1218+* Tue Jun 30 2026 doupengda <doupengda@loongson.cn> - 3.3.6-9
1219+- add support for loongarch64
1220+ 
1209* Mon Dec 16 2024 shenzhongwei <shenzhongwei@kylinos.cn> - 3.3.6-81221* Mon Dec 16 2024 shenzhongwei <shenzhongwei@kylinos.cn> - 3.3.6-8
1210- include all patches in the source package.1222- include all patches in the source package.
1211 1223 
Binary files do not support preview
Binary files do not support preview
Binary files do not support preview