Compare commits
11 Commits
ac43d0301c
...
739e2c17f9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
739e2c17f9 | ||
|
|
6e49161df3 | ||
|
|
87f895eeb4 | ||
|
|
34be3cb5df | ||
|
|
104c692d3b | ||
|
|
c8f7ca5805 | ||
|
|
0fb6441969 | ||
|
|
b40edce7f0 | ||
|
|
157fcc34af | ||
|
|
2f6d5016c1 | ||
|
|
3e5a6b4f5e |
89
0008-compatible-for-version-1.8.patch
Normal file
89
0008-compatible-for-version-1.8.patch
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
From bfe732cf53ad19c9a8e6db3af595e728cf2bacfa Mon Sep 17 00:00:00 2001
|
||||||
|
From: wang--ge <wang__ge@126.com>
|
||||||
|
Date: Mon, 5 Feb 2024 09:56:34 +0800
|
||||||
|
Subject: [PATCH] compatible for version 1.8
|
||||||
|
|
||||||
|
---
|
||||||
|
src/bin/startGroovy | 45 +++++++++++++++++++++++++++++++--------------
|
||||||
|
1 file changed, 31 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/bin/startGroovy b/src/bin/startGroovy
|
||||||
|
index 36d6edd..9fcccc4 100644
|
||||||
|
--- a/src/bin/startGroovy
|
||||||
|
+++ b/src/bin/startGroovy
|
||||||
|
@@ -28,7 +28,6 @@
|
||||||
|
## $Revision$
|
||||||
|
## $Date$
|
||||||
|
##
|
||||||
|
-
|
||||||
|
PROGNAME=`basename "$0"`
|
||||||
|
|
||||||
|
#DIRNAME=`dirname "$0"`
|
||||||
|
@@ -150,7 +149,6 @@ fi
|
||||||
|
if [ -z "$GROOVY_CONF" ] ; then
|
||||||
|
GROOVY_CONF="$GROOVY_HOME/conf/groovy-starter.conf"
|
||||||
|
fi
|
||||||
|
-STARTER_CLASSPATH="$GROOVY_HOME/lib/@GROOVYJAR@"
|
||||||
|
|
||||||
|
# Create the final classpath. Setting a classpath using the -cp or -classpath option means not to use the
|
||||||
|
# global classpath. Groovy behaves then the same as the java interpreter
|
||||||
|
@@ -162,6 +160,11 @@ else
|
||||||
|
CP=.
|
||||||
|
fi
|
||||||
|
|
||||||
|
+STARTER_CLASSPATH="$GROOVY_HOME/lib/@GROOVYJAR@"
|
||||||
|
+if [ ${GROOVY_VERSION} == "1.8" ];then
|
||||||
|
+ STARTER_CLASSPATH="/usr/share/java/groovy-1.8.jar:$CP"
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
# Determine the Java command to use to start the JVM.
|
||||||
|
if [ -z "$JAVACMD" ] ; then
|
||||||
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
|
@@ -283,18 +286,32 @@ startGroovy ( ) {
|
||||||
|
if $useprofiler ; then
|
||||||
|
runProfiler
|
||||||
|
else
|
||||||
|
- eval exec "\"\$JAVACMD\"" $JAVA_OPTS \
|
||||||
|
- -classpath "\"\$STARTER_CLASSPATH\"" \
|
||||||
|
- -Dscript.name="\"\$SCRIPT_PATH\"" \
|
||||||
|
- -Dprogram.name="\"\$PROGNAME\"" \
|
||||||
|
- -Dgroovy.starter.conf="\"\$GROOVY_CONF\"" \
|
||||||
|
- -Dgroovy.home="\"\$GROOVY_HOME\"" \
|
||||||
|
- -Dtools.jar="\"\$TOOLS_JAR\"" \
|
||||||
|
- $STARTER_MAIN_CLASS \
|
||||||
|
- --main $CLASS \
|
||||||
|
- --conf "\"\$GROOVY_CONF\"" \
|
||||||
|
- --classpath "\"\$CP\"" \
|
||||||
|
- "\"\$@\""
|
||||||
|
+ if [ ${GROOVY_VERSION} == "1.8" ];then
|
||||||
|
+ eval exec "\"\$JAVACMD\"" $JAVA_OPTS \
|
||||||
|
+ -classpath "\"\$STARTER_CLASSPATH\"" \
|
||||||
|
+ -Dscript.name="\"\$SCRIPT_PATH\"" \
|
||||||
|
+ -Dprogram.name="\"\$PROGNAME\"" \
|
||||||
|
+ -Dgroovy.starter.conf="\"\$GROOVY_CONF\"" \
|
||||||
|
+ -Dgroovy.home="\"\$GROOVY_HOME\"" \
|
||||||
|
+ -Dtools.jar="\"\$TOOLS_JAR\"" \
|
||||||
|
+ $STARTER_MAIN_CLASS \
|
||||||
|
+ --main $CLASS \
|
||||||
|
+ --conf "\"\$GROOVY_CONF\"" \
|
||||||
|
+ "\"\$@\""
|
||||||
|
+ else
|
||||||
|
+ eval exec "\"\$JAVACMD\"" $JAVA_OPTS \
|
||||||
|
+ -classpath "\"\$STARTER_CLASSPATH\"" \
|
||||||
|
+ -Dscript.name="\"\$SCRIPT_PATH\"" \
|
||||||
|
+ -Dprogram.name="\"\$PROGNAME\"" \
|
||||||
|
+ -Dgroovy.starter.conf="\"\$GROOVY_CONF\"" \
|
||||||
|
+ -Dgroovy.home="\"\$GROOVY_HOME\"" \
|
||||||
|
+ -Dtools.jar="\"\$TOOLS_JAR\"" \
|
||||||
|
+ $STARTER_MAIN_CLASS \
|
||||||
|
+ --main $CLASS \
|
||||||
|
+ --conf "\"\$GROOVY_CONF\"" \
|
||||||
|
+ --classpath "\"\$CP\"" \
|
||||||
|
+ "\"\$@\""
|
||||||
|
+ fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
39
0009-add-parameter-check-for-grape-define.patch
Normal file
39
0009-add-parameter-check-for-grape-define.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
From 696538030dcf6ba670cb1dd8f9d762d860aac01c Mon Sep 17 00:00:00 2001
|
||||||
|
From: wang--ge <wang__ge@126.com>
|
||||||
|
Date: Thu, 14 Mar 2024 11:19:28 +0800
|
||||||
|
Subject: [PATCH] asd
|
||||||
|
|
||||||
|
---
|
||||||
|
.../org/codehaus/groovy/tools/GrapeMain.groovy | 16 ++++++++++++----
|
||||||
|
1 file changed, 12 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/main/org/codehaus/groovy/tools/GrapeMain.groovy b/src/main/org/codehaus/groovy/tools/GrapeMain.groovy
|
||||||
|
index 0a1843d..528e8ed 100644
|
||||||
|
--- a/src/main/org/codehaus/groovy/tools/GrapeMain.groovy
|
||||||
|
+++ b/src/main/org/codehaus/groovy/tools/GrapeMain.groovy
|
||||||
|
@@ -348,10 +348,18 @@ if (cmd.hasOption('v')) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
-
|
||||||
|
-cmd.getOptionValues('D')?.each {String prop ->
|
||||||
|
- def (k, v) = prop.split ('=', 2) as List // array multiple assignment quirk
|
||||||
|
- System.setProperty(k, v ?: "")
|
||||||
|
+if (cmd.hasOption('D')) {
|
||||||
|
+ cmd.getOptionValues('D')?.each {String prop ->
|
||||||
|
+ while (prop.startsWith("=")) {
|
||||||
|
+ prop = prop.substring(1, prop.length());
|
||||||
|
+ }
|
||||||
|
+ def (k, v) = prop.split ('=', 2) as List // array multiple assignment quirk
|
||||||
|
+ if (k.isEmpty() || v.isEmpty()) {
|
||||||
|
+ println "one system property's name or value is emply, skip."
|
||||||
|
+ } else {
|
||||||
|
+ System.setProperty(k, v ?: "")
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] arg = cmd.args
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
81
CVE-2020-17521.patch
Normal file
81
CVE-2020-17521.patch
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
From 24a2441ad715cda26c9cae9febb36cdb51983092 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paul King <paulk@asert.com.au>
|
||||||
|
Date: Fri, 5 Feb 2021 10:15:52 +0800
|
||||||
|
Subject: [PATCH] use newer api for creating temp dir
|
||||||
|
|
||||||
|
---
|
||||||
|
.../runtime/DefaultGroovyStaticMethods.java | 48 ++++++-------------
|
||||||
|
1 file changed, 14 insertions(+), 34 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/main/org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java b/src/main/org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java
|
||||||
|
index 9e4ce31..61414b2 100644
|
||||||
|
--- a/src/main/org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java
|
||||||
|
+++ b/src/main/org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java
|
||||||
|
@@ -24,6 +24,8 @@ import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
+import java.nio.file.Files;
|
||||||
|
+import java.nio.file.Path;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
import java.util.Locale;
|
||||||
|
@@ -261,43 +263,21 @@ public class DefaultGroovyStaticMethods {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static File createTempDir(File self) throws IOException {
|
||||||
|
- return createTempDir(self, "groovy-generated-", "-tmpdir");
|
||||||
|
+ return createTempDir(self, "groovy-generated-", "tmpdir-");
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static File createTempDir(File self, final String prefix) throws IOException {
|
||||||
|
+ return createTempDirNio(prefix);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static File createTempDir(File self, final String prefix, final String suffix) throws IOException {
|
||||||
|
- final int MAXTRIES = 3;
|
||||||
|
- int accessDeniedCounter = 0;
|
||||||
|
- File tempFile=null;
|
||||||
|
- for (int i=0; i<MAXTRIES; i++) {
|
||||||
|
- try {
|
||||||
|
- tempFile = File.createTempFile(prefix, suffix);
|
||||||
|
- tempFile.delete();
|
||||||
|
- tempFile.mkdirs();
|
||||||
|
- break;
|
||||||
|
- } catch (IOException ioe) {
|
||||||
|
- if (ioe.getMessage().startsWith("Access is denied")) {
|
||||||
|
- accessDeniedCounter++;
|
||||||
|
- try { Thread.sleep(100); } catch (InterruptedException e) {}
|
||||||
|
- }
|
||||||
|
- if (i==MAXTRIES-1) {
|
||||||
|
- if (accessDeniedCounter==MAXTRIES) {
|
||||||
|
- String msg =
|
||||||
|
- "Access is denied.\nWe tried " +
|
||||||
|
- + accessDeniedCounter+
|
||||||
|
- " times to create a temporary directory"+
|
||||||
|
- " and failed each time. If you are on Windows"+
|
||||||
|
- " you are possibly victim to"+
|
||||||
|
- " http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6325169. "+
|
||||||
|
- " this is no bug in Groovy.";
|
||||||
|
- throw new IOException(msg);
|
||||||
|
- } else {
|
||||||
|
- throw ioe;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- continue;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- return tempFile;
|
||||||
|
+ // more secure Files api doesn't support suffix, so just append it to the prefix
|
||||||
|
+ return createTempDirNio(prefix + suffix);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private static File createTempDirNio(String prefix) throws IOException {
|
||||||
|
+ Path tempPath = Files.createTempDirectory(prefix);
|
||||||
|
+ return tempPath.toFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
22
Speed-up-class-loading-of-groovy-all-files.patch
Normal file
22
Speed-up-class-loading-of-groovy-all-files.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
From f8a3b45b926bf2c969c633f2aea44f4c8f007d62 Mon Sep 17 00:00:00 2001
|
||||||
|
From: sunlan <sunlan@apache.org>
|
||||||
|
Date: Fri, 8 Dec 2017 08:01:10 +0800
|
||||||
|
Subject: [PATCH] Speed up class loading of groovy-all files
|
||||||
|
|
||||||
|
---
|
||||||
|
gradle/assemble.gradle | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle
|
||||||
|
index 20d74d6efd5..42e9e2b76a0 100644
|
||||||
|
--- a/gradle/assemble.gradle
|
||||||
|
+++ b/gradle/assemble.gradle
|
||||||
|
@@ -397,7 +397,7 @@ task jarAll(type: Jar, dependsOn: replaceJarWithJarJar) {
|
||||||
|
|
||||||
|
ant {
|
||||||
|
copy(file: archivePathTmp, tofile: archivePath)
|
||||||
|
- jar(destfile: archivePath, update:true, manifest: manifestPath) {
|
||||||
|
+ jar(destfile: archivePath, update: true, index: true, manifest: manifestPath) {
|
||||||
|
zipfileset(src: jar.archivePath, excludes:'META-INF')
|
||||||
|
}
|
||||||
|
delete(file: archivePathTmp, quiet: true, deleteonexit: true)
|
||||||
59
groovy.spec
59
groovy.spec
@ -1,8 +1,8 @@
|
|||||||
Name: groovy
|
Name: groovy
|
||||||
Version: 2.4.8
|
Version: 2.4.8
|
||||||
Release: 8
|
Release: 13
|
||||||
Summary: Dynamic language for the Java Platform
|
Summary: Dynamic language for the Java Platform
|
||||||
License: ASL 2.0 and BSD and EPL and Public Domain and CC-BY
|
License: ASL 2.0 and BSD-3-Clause and EPL-1.0 and Public Domain and ANTLR-PD and MIT
|
||||||
URL: http://groovy-lang.org
|
URL: http://groovy-lang.org
|
||||||
Source0: https://dl.bintray.com/groovy/maven/apache-groovy-src-%{version}.zip
|
Source0: https://dl.bintray.com/groovy/maven/apache-groovy-src-%{version}.zip
|
||||||
Source1: groovy-script.sh
|
Source1: groovy-script.sh
|
||||||
@ -17,6 +17,10 @@ Patch3: 0004-Remove-android-support.patch
|
|||||||
Patch4: 0005-Update-to-QDox-2.0.patch
|
Patch4: 0005-Update-to-QDox-2.0.patch
|
||||||
Patch5: 0006-Disable-artifactory-publish.patch
|
Patch5: 0006-Disable-artifactory-publish.patch
|
||||||
Patch6: 0007-Fix-missing-extension-definitions.patch
|
Patch6: 0007-Fix-missing-extension-definitions.patch
|
||||||
|
Patch7: CVE-2020-17521.patch
|
||||||
|
Patch8: Speed-up-class-loading-of-groovy-all-files.patch
|
||||||
|
Patch9: 0008-compatible-for-version-1.8.patch
|
||||||
|
Patch10: 0009-add-parameter-check-for-grape-define.patch
|
||||||
|
|
||||||
BuildRequires: gradle-local >= 2.1-0.9 javapackages-local java-devel >= 1.8 ant antlr-tool ant-antlr
|
BuildRequires: gradle-local >= 2.1-0.9 javapackages-local java-devel >= 1.8 ant antlr-tool ant-antlr
|
||||||
BuildRequires: aqute-bnd gpars multiverse apache-parent testng jline apache-commons-cli apache-commons-beanutils
|
BuildRequires: aqute-bnd gpars multiverse apache-parent testng jline apache-commons-cli apache-commons-beanutils
|
||||||
@ -26,24 +30,24 @@ BuildRequires: mvn(org.apache.ant:ant-junit) mvn(org.apache.ant:ant-launcher) m
|
|||||||
Requires: xpp3-minimal
|
Requires: xpp3-minimal
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
Obsoletes: groovy-lib = %{version}-%{release}
|
Obsoletes: groovy-lib < %{version}-%{release}
|
||||||
Obsoletes: groovy-ant = %{version}-%{release}
|
Obsoletes: groovy-ant < %{version}-%{release}
|
||||||
Obsoletes: groovy-bsf = %{version}-%{release}
|
Obsoletes: groovy-bsf < %{version}-%{release}
|
||||||
Obsoletes: groovy-console = %{version}-%{release}
|
Obsoletes: groovy-console < %{version}-%{release}
|
||||||
Obsoletes: groovy-docgenerator = %{version}-%{release}
|
Obsoletes: groovy-docgenerator < %{version}-%{release}
|
||||||
Obsoletes: groovy-groovydoc = %{version}-%{release}
|
Obsoletes: groovy-groovydoc < %{version}-%{release}
|
||||||
Obsoletes: groovy-groovysh = %{version}-%{release}
|
Obsoletes: groovy-groovysh < %{version}-%{release}
|
||||||
Obsoletes: groovy-jmx = %{version}-%{release}
|
Obsoletes: groovy-jmx < %{version}-%{release}
|
||||||
Obsoletes: groovy-json = %{version}-%{release}
|
Obsoletes: groovy-json < %{version}-%{release}
|
||||||
Obsoletes: groovy-jsr223 = %{version}-%{release}
|
Obsoletes: groovy-jsr223 < %{version}-%{release}
|
||||||
Obsoletes: groovy-nio = %{version}-%{release}
|
Obsoletes: groovy-nio < %{version}-%{release}
|
||||||
Obsoletes: groovy-servlet = %{version}-%{release}
|
Obsoletes: groovy-servlet < %{version}-%{release}
|
||||||
Obsoletes: groovy-sql = %{version}-%{release}
|
Obsoletes: groovy-sql < %{version}-%{release}
|
||||||
Obsoletes: groovy-swing = %{version}-%{release}
|
Obsoletes: groovy-swing < %{version}-%{release}
|
||||||
Obsoletes: groovy-templates = %{version}-%{release}
|
Obsoletes: groovy-templates < %{version}-%{release}
|
||||||
Obsoletes: groovy-test = %{version}-%{release}
|
Obsoletes: groovy-test < %{version}-%{release}
|
||||||
Obsoletes: groovy-testng = %{version}-%{release}
|
Obsoletes: groovy-testng < %{version}-%{release}
|
||||||
Obsoletes: groovy-xml = %{version}-%{release}
|
Obsoletes: groovy-xml < %{version}-%{release}
|
||||||
|
|
||||||
Provides: groovy-lib = %{version}-%{release}
|
Provides: groovy-lib = %{version}-%{release}
|
||||||
Provides: groovy-ant = %{version}-%{release}
|
Provides: groovy-ant = %{version}-%{release}
|
||||||
@ -189,5 +193,20 @@ EOF
|
|||||||
%doc LICENSE NOTICE README.adoc
|
%doc LICENSE NOTICE README.adoc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 13 2024 Ge Wang <wang__ge@126.com> - 2.4.8-13
|
||||||
|
- Add parameter check for grape define
|
||||||
|
|
||||||
|
* Tue Feb 20 2024 Ge Wang <wang__ge@126.com> - 2.4.8-12
|
||||||
|
- Compatible adapter for version 1.8
|
||||||
|
|
||||||
|
* Tue May 10 2022 xu_ping <xuping33@h-partners.com> - 2.4.8-11
|
||||||
|
- License compliance rectification
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 lingsheng <lingsheng@huawei.com> - 2.4.8-10
|
||||||
|
- Speed up class loading of groovy-all files
|
||||||
|
|
||||||
|
* Thu Feb 04 2021 wangyue <wangyue92@huawei.com> - 2.4.8-9
|
||||||
|
- fix CVE-2020-17521
|
||||||
|
|
||||||
* Thu Dec 7 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.4.8-8
|
* Thu Dec 7 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.4.8-8
|
||||||
- Package init
|
- Package init
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user