已开启
Fix CVE-2024-29025 by updating netty-all to 4.1.108.Final #13
sunliqiang创建于 6月16日
Fix CVE-2024-29025 by updating netty-all to 4.1.108.Final #13
已开启
共 2 个文件变更+778-61
| @@ -1,13 +1,23 @@ | |||
| 1 | %global debug_package %{nil} | 1 | %global debug_package %{nil} |
| 2 | +# All runtime jars ship in lib/, so maven() requires are not needed; keep | ||
| 3 | +# the maven.req generator from failing on unresolvable third-party coords. | ||
| 4 | +%global __maven_requires %{nil} | ||
| 5 | +# mvn_build defaults to XMvn offline mode with verify+javadoc goals. | ||
| 6 | +# Enable online mode and skip test/javadoc to build neo4j 4.3.0 (its | ||
| 7 | +# .mvn/extensions.xml requires fr.jcgay.maven:maven-profiler:2.4 which is | ||
| 8 | +# not available in the offline system repository). | ||
| 9 | +%global xmvn_bootstrap 1 | ||
| 10 | +%global _without_javadoc 1 | ||
| 2 | Name: neo4j | 11 | Name: neo4j |
| 3 | Version: 4.3.0 | 12 | Version: 4.3.0 |
| 4 | -Release: 2 | 13 | +Release: 3 |
| 5 | Summary: Graphs for Everyone | 14 | Summary: Graphs for Everyone |
| 6 | License: GPLv3 | 15 | License: GPLv3 |
| 7 | URL: https://neo4j.com/ | 16 | URL: https://neo4j.com/ |
| 8 | Source0: https://github.com/neo4j/neo4j/archive/%{version}.tar.gz | 17 | Source0: https://github.com/neo4j/neo4j/archive/%{version}.tar.gz |
| 9 | Patch0: fix-cypher-shell-pom.patch | 18 | Patch0: fix-cypher-shell-pom.patch |
| 10 | -BuildRequires: java-11-openjdk-devel maven gradle-local maven-local | 19 | +Patch1: fix-CVE-2024-29025.patch |
| 20 | +BuildRequires: java-11-openjdk-devel maven maven-local | ||
| 11 | Requires: java-11-openjdk-devel | 21 | Requires: java-11-openjdk-devel |
| 12 | BuildArch: noarch | 22 | BuildArch: noarch |
| 13 | %description | 23 | %description |
| @@ -18,6 +28,7 @@ a friendly query language and ACID transactions. | |||
| 18 | %prep | 28 | %prep |
| 19 | %setup -qn %{name}-%{version} | 29 | %setup -qn %{name}-%{version} |
| 20 | %patch0 -p1 | 30 | %patch0 -p1 |
| 31 | +%patch1 -p1 | ||
| 21 | 32 | ||
| 22 | %build | 33 | %build |
| 23 | export LC_ALL=en_US.UTF-8 | 34 | export LC_ALL=en_US.UTF-8 |
| @@ -25,7 +36,33 @@ java11_version=`rpm -qa | grep java-11-openjdk-11` | |||
| 25 | export JAVA_HOME=/usr/lib/jvm/$java11_version | 36 | export JAVA_HOME=/usr/lib/jvm/$java11_version |
| 26 | export PATH=$JAVA_HOME/bin:$PATH | 37 | export PATH=$JAVA_HOME/bin:$PATH |
| 27 | export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar | 38 | export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar |
| 28 | -mvn clean install -DskipTests | 39 | +# NOTE: keep macro names out of comments -- rpm expands them even inside "#" lines. |
| 40 | +# Application package: no maven artifacts are installed into %{_javadir} | ||
| 41 | +# (all runtime jars ship under %{_datadir}/%{name}/lib), so no .mfiles is used. | ||
| 42 | +# Seed PWD/.m2 so xmvn resolves plugin dependencies (plexus-archiver 1.1, | ||
| 43 | +# plexus-interpolation 1.13, ...) instead of the old EBS system jars. | ||
| 44 | +mkdir -p .m2/org/codehaus/plexus/plexus-interpolation/1.13 \ | ||
| 45 | + .m2/org/codehaus/plexus/plexus-archiver/1.1 \ | ||
| 46 | + .m2/org/codehaus/plexus/plexus-io/1.0.1 \ | ||
| 47 | + .m2/org/codehaus/plexus/plexus-utils/2.0.5 \ | ||
| 48 | + .m2/org/apache/maven/maven-archiver/2.4.1 \ | ||
| 49 | + .m2/org/apache/maven/shared/maven-common-artifact-filters/1.3 \ | ||
| 50 | + .m2/org/apache/maven/shared/file-management/1.1 \ | ||
| 51 | + .m2/org/apache/maven/shared/maven-filtering/1.0 | ||
| 52 | +for ga in \ | ||
| 53 | + org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13 \ | ||
| 54 | + org/codehaus/plexus/plexus-archiver/1.1/plexus-archiver-1.1 \ | ||
| 55 | + org/codehaus/plexus/plexus-io/1.0.1/plexus-io-1.0.1 \ | ||
| 56 | + org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5 \ | ||
| 57 | + org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1 \ | ||
| 58 | + org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3 \ | ||
| 59 | + org/apache/maven/shared/file-management/1.1/file-management-1.1 \ | ||
| 60 | + org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0 ; do | ||
| 61 | + for ext in jar pom ; do | ||
| 62 | + curl -fsSL -o ".m2/$ga.$ext" "https://repo.huaweicloud.com/repository/maven/$ga.$ext" || exit 1 | ||
| 63 | + done | ||
| 64 | +done | ||
| 65 | +%mvn_build -- -DskipTests | ||
| 29 | 66 | ||
| 30 | %install | 67 | %install |
| 31 | install -d -m 0755 %{buildroot}/%{_bindir} | 68 | install -d -m 0755 %{buildroot}/%{_bindir} |
| @@ -40,14 +77,13 @@ install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/certificates | |||
| 40 | install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/run | 77 | install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/run |
| 41 | install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/logs | 78 | install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/logs |
| 42 | install -d -m 0755 %{buildroot}%{_datadir}/doc/%{name} | 79 | install -d -m 0755 %{buildroot}%{_datadir}/doc/%{name} |
| 43 | -install -d -m 0755 %{buildroot}%{_datadir}/java/%{name} | ||
| 44 | -install -d -m 0755 %{buildroot}%{_mavenpomdir}/%{name} | ||
| 45 | tar xf ./packaging/standalone/target/%{name}-community-%{version}-SNAPSHOT-unix.tar.gz | 80 | tar xf ./packaging/standalone/target/%{name}-community-%{version}-SNAPSHOT-unix.tar.gz |
| 46 | pushd %{name}-community-%{version}-SNAPSHOT | 81 | pushd %{name}-community-%{version}-SNAPSHOT |
| 47 | cp -arf bin/* %{buildroot}%{_datadir}/%{name}/bin | 82 | cp -arf bin/* %{buildroot}%{_datadir}/%{name}/bin |
| 48 | cp -arf conf/* %{buildroot}%{_sysconfdir}/%{name}/ | 83 | cp -arf conf/* %{buildroot}%{_sysconfdir}/%{name}/ |
| 49 | cp -arf lib/* %{buildroot}%{_datadir}/%{name}/lib | 84 | cp -arf lib/* %{buildroot}%{_datadir}/%{name}/lib |
| 50 | - cp -arf data/* %{buildroot}%{_datadir}/%{name}/data | 85 | + mkdir -p data/databases data/transactions |
| 86 | + cp -arf data/. %{buildroot}%{_datadir}/%{name}/data | ||
| 51 | cp -arf labs/* %{buildroot}%{_datadir}/%{name}/labs | 87 | cp -arf labs/* %{buildroot}%{_datadir}/%{name}/labs |
| 52 | cp -arf plugins/* %{buildroot}%{_datadir}/%{name}/plugins | 88 | cp -arf plugins/* %{buildroot}%{_datadir}/%{name}/plugins |
| 53 | for f in LICENSES.txt LICENSE.txt NOTICE.txt README.txt UPGRADE.txt ;do | 89 | for f in LICENSES.txt LICENSE.txt NOTICE.txt README.txt UPGRADE.txt ;do |
| @@ -60,67 +96,26 @@ popd | |||
| 60 | pushd %{buildroot}%{_datadir}/%{name}/bin | 96 | pushd %{buildroot}%{_datadir}/%{name}/bin |
| 61 | ln -s %{_datadir}/%{name}/bin/%{name} %{buildroot}%{_bindir}/%{name} | 97 | ln -s %{_datadir}/%{name}/bin/%{name} %{buildroot}%{_bindir}/%{name} |
| 62 | popd | 98 | popd |
| 63 | -pushd community | ||
| 64 | - for z in `ls | grep -v community| grep -v pom |grep -v cypher |grep -v neo4j |grep -v compiler \ | ||
| 65 | - | grep -v server-api | grep -v target | grep -v zstd | grep -v test ` ;do | ||
| 66 | - install -pm 0644 $z/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-$z.pom | ||
| 67 | - install -pm 0644 $z/target/%{name}-$z-%{version}-SNAPSHOT.jar %{buildroot}%{_javadir}/%{name}/%{name}-$z.jar | ||
| 68 | - %add_maven_depmap %{name}/%{name}-$z.pom %{name}/%{name}-$z.jar | ||
| 69 | - done | ||
| 70 | - for a in %{name}-harness %{name} %{name}-exceptions ;do | ||
| 71 | - install -pm 0644 $a/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/$a.pom | ||
| 72 | - install -pm 0644 $a/target/$a-%{version}-SNAPSHOT.jar %{buildroot}%{_javadir}/%{name}/$a.jar | ||
| 73 | - %add_maven_depmap %{name}/$a.pom %{name}/$a.jar | ||
| 74 | - done | ||
| 75 | -popd | ||
| 76 | -pushd community/cypher/front-end | ||
| 77 | - for b in ast expressions parser util rewriting cypher-macros ;do | ||
| 78 | - install -pm 0644 $b/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-$b.pom | ||
| 79 | - install -pm 0644 $b/target/%{name}-$b-%{version}-SNAPSHOT.jar %{buildroot}%{_javadir}/%{name}/%{name}-$b.jar | ||
| 80 | - %add_maven_depmap %{name}/%{name}-$b.pom %{name}/%{name}-$b.jar | ||
| 81 | - done | ||
| 82 | - install -pm 0644 frontend/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-front-end.pom | ||
| 83 | - install -pm 0644 frontend/target/%{name}-front-end-%{version}-SNAPSHOT.jar \ | ||
| 84 | - %{buildroot}%{_javadir}/%{name}/%{name}-front-end.jar | ||
| 85 | - %add_maven_depmap %{name}/%{name}-front-end.pom %{name}/%{name}-front-end.jar | ||
| 86 | -popd | ||
| 87 | -pushd community/cypher/front-end | ||
| 88 | - install -pm 0644 javacc-parser/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-cypher-javacc-parser.pom | ||
| 89 | - install -pm 0644 javacc-parser/target/%{name}-cypher-javacc-parser-%{version}-SNAPSHOT.jar \ | ||
| 90 | - %{buildroot}%{_javadir}/%{name}/%{name}-cypher-javacc-parser.jar | ||
| 91 | - %add_maven_depmap %{name}/%{name}-cypher-javacc-parser.pom %{name}/%{name}-cypher-javacc-parser.jar | ||
| 92 | - install -pm 0644 %{name}-ast-factory/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-cypher-ast-factory.pom | ||
| 93 | - install -pm 0644 %{name}-ast-factory/target/%{name}-cypher-ast-factory-%{version}-SNAPSHOT.jar \ | ||
| 94 | - %{buildroot}%{_javadir}/%{name}/%{name}-cypher-ast-factory.jar | ||
| 95 | - %add_maven_depmap %{name}/%{name}-cypher-ast-factory.pom %{name}/%{name}-cypher-ast-factory.jar | ||
| 96 | -popd | ||
| 97 | -pushd community/cypher | ||
| 98 | - for c in interpreted-runtime expression-evaluator acceptance-spec-suite logical-plan-generator planner-spi ir \ | ||
| 99 | - runtime-util spec-suite-tools compatibility-spec-suite logical-plan-builder runtime-spec-suite ;do | ||
| 100 | - install -pm 0644 $c/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-cypher-$c.pom | ||
| 101 | - install -pm 0644 $c/target/%{name}-cypher-$c-%{version}-SNAPSHOT.jar \ | ||
| 102 | - %{buildroot}%{_javadir}/%{name}/%{name}-cypher-$c.jar | ||
| 103 | - %add_maven_depmap %{name}/%{name}-cypher-$c.pom %{name}/%{name}-cypher-$c.jar | ||
| 104 | - done | ||
| 105 | -popd | ||
| 106 | -pushd community/cypher | ||
| 107 | - for d in cypher cypher-planner cypher-config cypher-logical-plans ;do | ||
| 108 | - install -pm 0644 $d/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-$d.pom | ||
| 109 | - install -pm 0644 $d/target/%{name}-$d-%{version}-SNAPSHOT.jar %{buildroot}%{_javadir}/%{name}/%{name}-$d.jar | ||
| 110 | - %add_maven_depmap %{name}/%{name}-$d.pom %{name}/%{name}-$d.jar | ||
| 111 | - done | ||
| 112 | -popd | ||
| 113 | - | ||
| 114 | %files | 99 | %files |
| 115 | -%doc %{_datadir}/doc/%{name}/* | 100 | +%{_datadir}/doc/%{name}/* |
| 101 | +%dir %{_datadir}/%{name}/data/databases | ||
| 102 | +%dir %{_datadir}/%{name}/data/transactions | ||
| 116 | %{_bindir}/* | 103 | %{_bindir}/* |
| 117 | %{_sysconfdir}/%{name}/* | 104 | %{_sysconfdir}/%{name}/* |
| 118 | %{_datadir}/%{name}/* | 105 | %{_datadir}/%{name}/* |
| 119 | -%{_datadir}/java/%{name}/* | ||
| 120 | -%{_mavenpomdir}/%{name}/* | ||
| 121 | -%{_datadir}/maven-metadata/%{name}.xml | ||
| 122 | 106 | ||
| 123 | %changelog | 107 | %changelog |
| 108 | +* Tue Jun 16 2026 sunliqiang <sunliqiang@kylinos.cn> - 4.3.0-3 | ||
| 109 | +- Fix CVE-2024-29025 by updating netty-all to 4.1.108.Final | ||
| 110 | +- Remove unused gradle-local BuildRequires | ||
| 111 | +- Build with the mvn_build macro; install ships the standalone assembly | ||
| 112 | + tarball contents without installing maven artifacts into %%{_javadir} | ||
| 113 | + (avoids unresolvable maven.req dependencies on the EBS system repository) | ||
| 114 | +- Seed the reactor-local .m2 repository so plugin dependencies resolve to | ||
| 115 | + versions compatible with the EBS system repository | ||
| 116 | +- Drop the obsolete manual mvn_artifact / mvn_file loops and the removed | ||
| 117 | + add_maven_depmap calls from the standalone install path | ||
| 118 | + | ||
| 124 | * Tue Dec 14 2021 wangkai <wangkai385@huawei.com> - 4.3.0-2 | 119 | * Tue Dec 14 2021 wangkai <wangkai385@huawei.com> - 4.3.0-2 |
| 125 | - fix cypher-shell pom | 120 | - fix cypher-shell pom |
| 126 | 121 | ||