Compare commits

..

11 Commits

Author SHA1 Message Date
openeuler-ci-bot
739e2c17f9
!47 Sync code
From: @starlet-dx 
Reviewed-by: @cherry530 
Signed-off-by: @cherry530
2024-03-28 09:25:21 +00:00
starlet-dx
6e49161df3 Sync code 2024-03-28 16:34:54 +08:00
openeuler-ci-bot
87f895eeb4
!21 License compliance rectification
From: @cherry530 
Reviewed-by: @wangchong1995924 
Signed-off-by: @wangchong1995924
2022-05-11 08:17:32 +00:00
cherry530
34be3cb5df License compliance rectification 2022-05-10 19:17:18 +08:00
openeuler-ci-bot
104c692d3b !12 Speed up class loading of groovy-all files
From: @ultra_planet
Reviewed-by: @wangchong1995924
Signed-off-by: @wangchong1995924
2021-08-09 02:48:48 +00:00
lingsheng
c8f7ca5805 Speed up class loading of groovy-all files 2021-08-09 10:07:38 +08:00
openeuler-ci-bot
0fb6441969 !5 fix CVE-2020-17521
From: @wang_yue111
Reviewed-by: @small_leek,@wangchong1995924
Signed-off-by: @small_leek,@wangchong1995924
2021-02-20 10:26:37 +08:00
wang_yue111
b40edce7f0 fix CVE-2020-17521 2021-02-19 14:40:55 +08:00
openeuler-ci-bot
157fcc34af !2 groovy: modify spec
Merge pull request !2 from openeuler-iSula/master
2019-12-18 14:20:06 +08:00
openeuler-iSula
2f6d5016c1 groovy: modify spec
Signed-off-by: openeuler-iSula <isula@huawei.com>
2019-12-18 11:44:05 +08:00
openeuler-ci-bot
3e5a6b4f5e !1 Package init
Merge pull request !1 from openeuler-iSula/master
2019-12-17 20:40:17 +08:00
5 changed files with 270 additions and 20 deletions

View 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

View 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
View 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

View 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)

View File

@ -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