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
|
||||
Version: 2.4.8
|
||||
Release: 8
|
||||
Release: 13
|
||||
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
|
||||
Source0: https://dl.bintray.com/groovy/maven/apache-groovy-src-%{version}.zip
|
||||
Source1: groovy-script.sh
|
||||
@ -17,6 +17,10 @@ Patch3: 0004-Remove-android-support.patch
|
||||
Patch4: 0005-Update-to-QDox-2.0.patch
|
||||
Patch5: 0006-Disable-artifactory-publish.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: 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
|
||||
BuildArch: noarch
|
||||
|
||||
Obsoletes: groovy-lib = %{version}-%{release}
|
||||
Obsoletes: groovy-ant = %{version}-%{release}
|
||||
Obsoletes: groovy-bsf = %{version}-%{release}
|
||||
Obsoletes: groovy-console = %{version}-%{release}
|
||||
Obsoletes: groovy-docgenerator = %{version}-%{release}
|
||||
Obsoletes: groovy-groovydoc = %{version}-%{release}
|
||||
Obsoletes: groovy-groovysh = %{version}-%{release}
|
||||
Obsoletes: groovy-jmx = %{version}-%{release}
|
||||
Obsoletes: groovy-json = %{version}-%{release}
|
||||
Obsoletes: groovy-jsr223 = %{version}-%{release}
|
||||
Obsoletes: groovy-nio = %{version}-%{release}
|
||||
Obsoletes: groovy-servlet = %{version}-%{release}
|
||||
Obsoletes: groovy-sql = %{version}-%{release}
|
||||
Obsoletes: groovy-swing = %{version}-%{release}
|
||||
Obsoletes: groovy-templates = %{version}-%{release}
|
||||
Obsoletes: groovy-test = %{version}-%{release}
|
||||
Obsoletes: groovy-testng = %{version}-%{release}
|
||||
Obsoletes: groovy-xml = %{version}-%{release}
|
||||
Obsoletes: groovy-lib < %{version}-%{release}
|
||||
Obsoletes: groovy-ant < %{version}-%{release}
|
||||
Obsoletes: groovy-bsf < %{version}-%{release}
|
||||
Obsoletes: groovy-console < %{version}-%{release}
|
||||
Obsoletes: groovy-docgenerator < %{version}-%{release}
|
||||
Obsoletes: groovy-groovydoc < %{version}-%{release}
|
||||
Obsoletes: groovy-groovysh < %{version}-%{release}
|
||||
Obsoletes: groovy-jmx < %{version}-%{release}
|
||||
Obsoletes: groovy-json < %{version}-%{release}
|
||||
Obsoletes: groovy-jsr223 < %{version}-%{release}
|
||||
Obsoletes: groovy-nio < %{version}-%{release}
|
||||
Obsoletes: groovy-servlet < %{version}-%{release}
|
||||
Obsoletes: groovy-sql < %{version}-%{release}
|
||||
Obsoletes: groovy-swing < %{version}-%{release}
|
||||
Obsoletes: groovy-templates < %{version}-%{release}
|
||||
Obsoletes: groovy-test < %{version}-%{release}
|
||||
Obsoletes: groovy-testng < %{version}-%{release}
|
||||
Obsoletes: groovy-xml < %{version}-%{release}
|
||||
|
||||
Provides: groovy-lib = %{version}-%{release}
|
||||
Provides: groovy-ant = %{version}-%{release}
|
||||
@ -189,5 +193,20 @@ EOF
|
||||
%doc LICENSE NOTICE README.adoc
|
||||
|
||||
%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
|
||||
- Package init
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user