removed build requirement for eclipse-ecj, rebuilt with java 17 (patches from Fedora) [release 1.8.8-5mamba;Thu Dec 05 2024]
This commit is contained in:
parent
fd6ca8ccbf
commit
6d0545793f
26
icedtea-web-1.8.8-bash-completion.patch
Normal file
26
icedtea-web-1.8.8-bash-completion.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From 558638e2aa131da29f3f6a39340a5641aa4134f7 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Scheck <robert-scheck@users.noreply.github.com>
|
||||
Date: Sun, 23 Apr 2023 02:08:04 +0200
|
||||
Subject: [PATCH] Use same naming scheme like bash-completion
|
||||
|
||||
---
|
||||
Makefile.am | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index e44070c17..f18492f2f 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -416,9 +416,9 @@ if WINDOWS_OR_INCLUDE_BATS
|
||||
${INSTALL_PROGRAM} launcher.build/$(policyeditor).bat $(DESTDIR)$(bindir)
|
||||
endif
|
||||
endif
|
||||
- ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/itweb-settings.bash $(BASH_CMPL_DEST_DIR)/
|
||||
- ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/javaws.bash $(BASH_CMPL_DEST_DIR)/
|
||||
- ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/policyeditor.bash $(BASH_CMPL_DEST_DIR)/
|
||||
+ ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/itweb-settings.bash $(BASH_CMPL_DEST_DIR)/itweb-settings
|
||||
+ ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/javaws.bash $(BASH_CMPL_DEST_DIR)/javaws
|
||||
+ ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/policyeditor.bash $(BASH_CMPL_DEST_DIR)/policyeditor
|
||||
|
||||
# all generated manpages are installed in swarm
|
||||
# all windows depndences are copied for windows build, and known one are copied/removed as necessary
|
118
icedtea-web-1.8.8-disable-pluginjar.patch
Normal file
118
icedtea-web-1.8.8-disable-pluginjar.patch
Normal file
@ -0,0 +1,118 @@
|
||||
From 92a975e01d1d6e24be8b3e7c56dbfb09bf1ccf79 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Scheck <robert-scheck@users.noreply.github.com>
|
||||
Date: Tue, 30 May 2023 02:33:56 +0200
|
||||
Subject: [PATCH] Disable sun.applet javadocs and plugin man page for
|
||||
--disable-pluginjar
|
||||
|
||||
---
|
||||
Makefile.am | 8 ++--
|
||||
.../jnlp/util/docprovider/TextsProvider.java | 42 +++++++++++--------
|
||||
2 files changed, 28 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index d762c002b..88c18f501 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -241,8 +241,7 @@ export NETX_PKGS = javax.jnlp net.sourceforge.nanoxml net.sourceforge.jnlp \
|
||||
net.sourceforge.jnlp.controlpanel net.sourceforge.jnlp.event \
|
||||
net.sourceforge.jnlp.runtime net.sourceforge.jnlp.security \
|
||||
net.sourceforge.jnlp.security.viewer net.sourceforge.jnlp.services \
|
||||
- net.sourceforge.jnlp.tools net.sourceforge.jnlp.util \
|
||||
- sun.applet
|
||||
+ net.sourceforge.jnlp.tools net.sourceforge.jnlp.util
|
||||
|
||||
if ENABLE_PLUGINJAR
|
||||
export ICEDTEAPLUGIN_TARGET = stamps/liveconnect-dist.stamp
|
||||
@@ -251,6 +250,7 @@ export PLUGIN_SRCDIR=$(TOP_SRC_DIR)/plugin/icedteanp
|
||||
export JSOBJECT_DIRS = netscape
|
||||
export SUN_DIR = sun
|
||||
export SUN_APPLET_DIRS = sun/applet
|
||||
+export SUN_APPLET_PKGS = sun.applet
|
||||
export PLUGIN_PKGS = sun.applet netscape.security netscape.javascript
|
||||
export LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java
|
||||
export LIVECONNECT_DIR = $(JSOBJECT_DIRS) $(SUN_APPLET_DIRS)
|
||||
@@ -898,7 +898,7 @@ stamps/generate-docs.stamp: stamps/netx.stamp
|
||||
mkdir "$$PLAIN_DOCS_TARGET_DIR" ; \
|
||||
mkdir "$$MAN_DOCS_TARGET_DIR" ; \
|
||||
HTML_DOCS_INDEX="$$HTML_DOCS_TARGET_DIR/index.html" ; \
|
||||
- TP_COMMAND="$(SYSTEM_JRE_DIR)/bin/java -cp $(NETX_DIR) net.sourceforge.jnlp.util.docprovider.TextsProvider" ; \
|
||||
+ TP_COMMAND="$(SYSTEM_JRE_DIR)/bin/java --add-exports=java.base/sun.security.action=ALL-UNNAMED -DPLUGIN_JAR=$(PLUGIN_JAR) -cp $(NETX_DIR) net.sourceforge.jnlp.util.docprovider.TextsProvider" ; \
|
||||
TP_TAIL="false $(FULL_VERSION)" ; \
|
||||
LANG_BACKUP=$$LANG ; \
|
||||
echo "<html><head><title>$(PLUGIN_VERSION)</title></head>" > "$$HTML_DOCS_INDEX" ; \
|
||||
@@ -1189,7 +1189,7 @@ if ENABLE_DOCS
|
||||
-windowtitle 'IcedTea-Web: NetX ' \
|
||||
-header '<strong>IcedTea-Web<br/>NetX</strong>' \
|
||||
$(call composeclasspath, $(MSLINKS_JAR) $(TAGSOUP_JAR) $(RHINO_JAR)) \
|
||||
- $(NETX_PKGS)
|
||||
+ $(NETX_PKGS) $(SUN_APPLET_PKGS)
|
||||
endif
|
||||
mkdir -p stamps
|
||||
touch stamps/netx-docs.stamp
|
||||
diff --git a/netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java b/netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java
|
||||
index 941b3e377..3269a54c1 100644
|
||||
--- a/netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java
|
||||
+++ b/netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java
|
||||
@@ -498,12 +498,14 @@ public static void generateHtmlTexts(String encoding, File dir, boolean allowCon
|
||||
os.flush();
|
||||
}
|
||||
}
|
||||
- JavaWsTextsProvider javaws = new JavaWsTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand);
|
||||
- ItwebSettingsTextsProvider itws = new ItwebSettingsTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand);
|
||||
- PolicyEditorTextsProvider pe = new PolicyEditorTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand);
|
||||
- IcedTeaWebTextsProvider itw = new IcedTeaWebTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand);
|
||||
- ItwebPluginTextProvider pl = new ItwebPluginTextProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand);
|
||||
- TextsProvider[] providers = new TextsProvider[]{javaws, itws, pe, itw, pl};
|
||||
+ ArrayList<TextsProvider> providers = new ArrayList<TextsProvider>();
|
||||
+ providers.add(new JavaWsTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand));
|
||||
+ providers.add(new ItwebSettingsTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand));
|
||||
+ providers.add(new PolicyEditorTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand));
|
||||
+ providers.add(new IcedTeaWebTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand));
|
||||
+ if (!System.getProperty("PLUGIN_JAR", "").isEmpty()) {
|
||||
+ providers.add(new ItwebPluginTextProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand));
|
||||
+ }
|
||||
for (TextsProvider provider : providers) {
|
||||
provider.setAuthorFilePath(authorFileFromUserInput);
|
||||
provider.writeToDir(dir);
|
||||
@@ -516,12 +518,14 @@ public static void generateManText(String encoding, File dir, boolean expand) th
|
||||
}
|
||||
|
||||
public static void generateManText(String encoding, File dir, boolean titles, boolean expand) throws IOException {
|
||||
- JavaWsTextsProvider javaws = new JavaWsTextsProvider(encoding, new ManFormatter(), titles, expand);
|
||||
- ItwebSettingsTextsProvider itws = new ItwebSettingsTextsProvider(encoding, new ManFormatter(), titles, expand);
|
||||
- PolicyEditorTextsProvider pe = new PolicyEditorTextsProvider(encoding, new ManFormatter(), titles, expand);
|
||||
- IcedTeaWebTextsProvider itw = new IcedTeaWebTextsProvider(encoding, new ManFormatter(), titles, expand);
|
||||
- ItwebPluginTextProvider pl = new ItwebPluginTextProvider(encoding, new ManFormatter(), titles, expand);
|
||||
- TextsProvider[] providers = new TextsProvider[]{javaws, itws, pe, itw, pl};
|
||||
+ ArrayList<TextsProvider> providers = new ArrayList<TextsProvider>();
|
||||
+ providers.add(new JavaWsTextsProvider(encoding, new ManFormatter(), titles, expand));
|
||||
+ providers.add(new ItwebSettingsTextsProvider(encoding, new ManFormatter(), titles, expand));
|
||||
+ providers.add(new PolicyEditorTextsProvider(encoding, new ManFormatter(), titles, expand));
|
||||
+ providers.add(new IcedTeaWebTextsProvider(encoding, new ManFormatter(), titles, expand));
|
||||
+ if (!System.getProperty("PLUGIN_JAR", "").isEmpty()) {
|
||||
+ providers.add(new ItwebPluginTextProvider(encoding, new ManFormatter(), titles, expand));
|
||||
+ }
|
||||
for (TextsProvider provider : providers) {
|
||||
provider.setAuthorFilePath(authorFileFromUserInput);
|
||||
provider.writeToDir(dir);
|
||||
@@ -534,12 +538,14 @@ public static void generatePlainTextDocs(File dir, int lineWidth, boolean expand
|
||||
}
|
||||
|
||||
public static void generatePlainTextDocs(String encoding, File dir, String indent, int lineWidth, boolean titles, boolean expand) throws IOException {
|
||||
- JavaWsTextsProvider javaws = new JavaWsTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand);
|
||||
- ItwebSettingsTextsProvider itws = new ItwebSettingsTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand);
|
||||
- PolicyEditorTextsProvider pe = new PolicyEditorTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand);
|
||||
- IcedTeaWebTextsProvider itw = new IcedTeaWebTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand);
|
||||
- ItwebPluginTextProvider pl = new ItwebPluginTextProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand);
|
||||
- TextsProvider[] providers = new TextsProvider[]{javaws, itws, pe, itw, pl};
|
||||
+ ArrayList<TextsProvider> providers = new ArrayList<TextsProvider>();
|
||||
+ providers.add(new JavaWsTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand));
|
||||
+ providers.add(new ItwebSettingsTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand));
|
||||
+ providers.add(new PolicyEditorTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand));
|
||||
+ providers.add(new IcedTeaWebTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand));
|
||||
+ if (!System.getProperty("PLUGIN_JAR", "").isEmpty()) {
|
||||
+ providers.add(new ItwebPluginTextProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand));
|
||||
+ }
|
||||
for(TextsProvider provider : providers){
|
||||
provider.setAuthorFilePath(authorFileFromUserInput);
|
||||
provider.writeToDir(dir);
|
24
icedtea-web-1.8.8-javadoc-param.patch
Normal file
24
icedtea-web-1.8.8-javadoc-param.patch
Normal file
@ -0,0 +1,24 @@
|
||||
From 51151ebc8c0e2b76f2c164aeb1238eb0f626c0aa Mon Sep 17 00:00:00 2001
|
||||
From: Robert Scheck <robert-scheck@users.noreply.github.com>
|
||||
Date: Tue, 30 May 2023 02:41:06 +0200
|
||||
Subject: [PATCH] Fix javadoc error related to @param in TimedHashMap.java
|
||||
|
||||
---
|
||||
netx/net/sourceforge/jnlp/util/TimedHashMap.java | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/netx/net/sourceforge/jnlp/util/TimedHashMap.java b/netx/net/sourceforge/jnlp/util/TimedHashMap.java
|
||||
index d5d32e4e2..2c4176e4d 100644
|
||||
--- a/netx/net/sourceforge/jnlp/util/TimedHashMap.java
|
||||
+++ b/netx/net/sourceforge/jnlp/util/TimedHashMap.java
|
||||
@@ -57,8 +57,8 @@
|
||||
*
|
||||
* This map does not allow null keys but does allow null values.
|
||||
*
|
||||
- * @param K The key type
|
||||
- * @param V The Object type
|
||||
+ * @param <K> The key type
|
||||
+ * @param <V> The Object type
|
||||
*/
|
||||
public class TimedHashMap<K, V> implements Map<K, V> {
|
||||
|
83
icedtea-web-1.8.8-no-pack200.patch
Normal file
83
icedtea-web-1.8.8-no-pack200.patch
Normal file
@ -0,0 +1,83 @@
|
||||
Patch by Emmanuel Bourg <ebourg@apache.org> for icedtea-web which removes pack200 support to build with OpenJDK Java 17.
|
||||
See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1011532
|
||||
|
||||
Patch origin: https://salsa.debian.org/java-team/icedtea-web/-/blob/master/debian/patches/remove-pack200-support.patch
|
||||
|
||||
--- icedtea-web-1.8.8/configure.ac 2023-05-30 02:14:16.833428945 +0200
|
||||
+++ icedtea-web-1.8.8/configure.ac.java17 2023-05-30 03:26:49.139800654 +0200
|
||||
@@ -129,7 +129,6 @@
|
||||
IT_FIND_JAVADOC
|
||||
IT_FIND_KEYTOOL
|
||||
IT_FIND_JARSIGNER
|
||||
-IT_FIND_PACK200
|
||||
|
||||
IT_SET_VERSION
|
||||
IT_CHECK_XULRUNNER_VERSION
|
||||
@@ -152,7 +151,6 @@
|
||||
JAVA_DESKTOP=java.desktop
|
||||
JAVA_NAMING=java.naming
|
||||
fi
|
||||
-IT_CHECK_FOR_CLASS(JAVA_UTIL_JAR_PACK200, [java.util.jar.Pack200], [some.pkg], [])
|
||||
IT_CHECK_FOR_CLASS(JAVA_NET_COOKIEMANAGER, [java.net.CookieManager], [some.pkg], [])
|
||||
IT_CHECK_FOR_CLASS(JAVA_NET_HTTPCOOKIE, [java.net.HttpCookie], [some.pkg], [])
|
||||
IT_CHECK_FOR_CLASS(JAVA_NET_COOKIEHANDLER, [java.net.CookieHandler], [some.pkg], [])
|
||||
--- icedtea-web-1.8.8/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java 2023-05-30 02:14:16.831428932 +0200
|
||||
+++ icedtea-web-1.8.8/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java.java17 2023-05-30 03:26:49.137800641 +0200
|
||||
@@ -25,7 +25,6 @@
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.jar.JarOutputStream;
|
||||
-import java.util.jar.Pack200;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
|
||||
import net.sourceforge.jnlp.DownloadOptions;
|
||||
@@ -151,7 +150,7 @@
|
||||
try {
|
||||
resource.setDownloadLocation(location.URL);
|
||||
URLConnection connection = ConnectionFactory.getConnectionFactory().openConnection(location.URL); // this won't change so should be okay not-synchronized
|
||||
- connection.addRequestProperty("Accept-Encoding", "pack200-gzip, gzip");
|
||||
+ connection.addRequestProperty("Accept-Encoding", "gzip");
|
||||
|
||||
File localFile = null;
|
||||
if (resource.getRequestVersion() == resource.getDownloadVersion()) {
|
||||
@@ -293,7 +292,7 @@
|
||||
URL url = urls.get(i);
|
||||
try {
|
||||
Map<String, String> requestProperties = new HashMap<>();
|
||||
- requestProperties.put("Accept-Encoding", "pack200-gzip, gzip");
|
||||
+ requestProperties.put("Accept-Encoding", "gzip");
|
||||
|
||||
UrlRequestResult response = getUrlResponseCodeWithRedirectonResult(url, requestProperties, requestMethod);
|
||||
if (response.result == 511) {
|
||||
@@ -390,7 +389,7 @@
|
||||
|
||||
private URLConnection getDownloadConnection(URL location) throws IOException {
|
||||
URLConnection con = ConnectionFactory.getConnectionFactory().openConnection(location);
|
||||
- con.addRequestProperty("Accept-Encoding", "pack200-gzip, gzip");
|
||||
+ con.addRequestProperty("Accept-Encoding", "gzip");
|
||||
con.connect();
|
||||
return con;
|
||||
}
|
||||
@@ -504,21 +503,7 @@
|
||||
}
|
||||
|
||||
private void uncompressPackGz(URL compressedLocation, URL uncompressedLocation, Version version) throws IOException {
|
||||
- OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Extracting packgz: " + compressedLocation + " to " + uncompressedLocation);
|
||||
-
|
||||
- try (GZIPInputStream gzInputStream = new GZIPInputStream(new FileInputStream(CacheUtil
|
||||
- .getCacheFile(compressedLocation, version)))) {
|
||||
- InputStream inputStream = new BufferedInputStream(gzInputStream);
|
||||
-
|
||||
- JarOutputStream outputStream = new JarOutputStream(new FileOutputStream(CacheUtil
|
||||
- .getCacheFile(uncompressedLocation, version)));
|
||||
-
|
||||
- Pack200.Unpacker unpacker = Pack200.newUnpacker();
|
||||
- unpacker.unpack(inputStream, outputStream);
|
||||
-
|
||||
- outputStream.close();
|
||||
- inputStream.close();
|
||||
- }
|
||||
+ throw new UnsupportedOperationException("Pack200 compression is no longer supported, cannot unpack " + compressedLocation);
|
||||
}
|
||||
|
||||
/**
|
12
icedtea-web-1.8.8-remove-dunce.patch
Normal file
12
icedtea-web-1.8.8-remove-dunce.patch
Normal file
@ -0,0 +1,12 @@
|
||||
Remove dependency to dunce (normalizes Windows paths to the most compatible format)
|
||||
|
||||
--- icedtea-web-1.8.8/rust-launcher/Cargo.toml 2021-10-27 22:13:18.000000000 +0200
|
||||
+++ icedtea-web-1.8.8/rust-launcher/Cargo.toml.remove-dunce 2023-04-23 00:48:27.861178475 +0200
|
||||
@@ -2,7 +2,3 @@
|
||||
name = "launcher"
|
||||
version = "1.8.0"
|
||||
authors = ["https://icedtea.classpath.org/wiki/IcedTea-Web"]
|
||||
-
|
||||
-[dependencies]
|
||||
-[target.'cfg(windows)'.dependencies]
|
||||
-dunce = "0.1.1"
|
22
icedtea-web-1.8.8-untranslated-man-pages.patch
Normal file
22
icedtea-web-1.8.8-untranslated-man-pages.patch
Normal file
@ -0,0 +1,22 @@
|
||||
From c477ebda825f0179e0f44bab01e0000fee37ea2e Mon Sep 17 00:00:00 2001
|
||||
From: Robert Scheck <robert-scheck@users.noreply.github.com>
|
||||
Date: Wed, 26 Apr 2023 23:12:44 +0200
|
||||
Subject: [PATCH] Disable man pages for languages without any translation
|
||||
|
||||
---
|
||||
Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index e44070c17..1b20b7ddc 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -899,7 +899,7 @@ stamps/generate-docs.stamp: stamps/netx.stamp
|
||||
LANG_BACKUP=$$LANG ; \
|
||||
echo "<html><head><title>$(PLUGIN_VERSION)</title></head>" > "$$HTML_DOCS_INDEX" ; \
|
||||
echo "<body><h3>$(PLUGIN_VERSION) docs:</h3>" >> "$$HTML_DOCS_INDEX" ; \
|
||||
- for LANG_ID in en_US.UTF-8 cs_CZ.UTF-8 pl_PL.UTF-8 de_DE.UTF-8 ; do \
|
||||
+ for LANG_ID in en_US.UTF-8 ; do \
|
||||
ID=`echo "$$LANG_ID" | head -c 2` ; \
|
||||
ENCOD=`echo "$$LANG_ID" | tail -c 6 -` ; \
|
||||
export LANG=$$LANG_ID; \
|
394
icedtea-web-1.8.8-upstream-changes.patch
Normal file
394
icedtea-web-1.8.8-upstream-changes.patch
Normal file
@ -0,0 +1,394 @@
|
||||
From 4db4f1e1b0425b06d5b0c3f285b43b1cb11c0353 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Cherepanov <dcherepanov@azul.com>
|
||||
Date: Mon, 14 Feb 2022 13:48:51 +0300
|
||||
Subject: [PATCH 1/7] backport classloader patch from #783
|
||||
|
||||
---
|
||||
netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
|
||||
index 7ed0c4db6..da23fb5c4 100644
|
||||
--- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
|
||||
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
|
||||
@@ -1559,6 +1559,12 @@ protected Class<?> findLoadedClassAll(String name) {
|
||||
*/
|
||||
@Override
|
||||
public Class<?> loadClass(String name) throws ClassNotFoundException {
|
||||
+ synchronized (getClassLoadingLock(name)) {
|
||||
+ return loadClassImpl(name);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private Class<?> loadClassImpl(String name) throws ClassNotFoundException {
|
||||
Class<?> result = findLoadedClassAll(name);
|
||||
|
||||
// try parent classloader
|
||||
|
||||
From 3c25773f7d516f4babaf5e2ab302160914cbb58b Mon Sep 17 00:00:00 2001
|
||||
From: lherschi <lhersch@dssgmbh.de>
|
||||
Date: Tue, 8 Nov 2022 23:25:29 +0100
|
||||
Subject: [PATCH 2/7] fix "Unexpected End of ZLIB Input Stream" Task #826 -
|
||||
IcedTeaWeb + Tomcat Cause "Unexpected End of ZLIB Input Stream" While Caching
|
||||
|
||||
---
|
||||
netx/net/sourceforge/jnlp/cache/ResourceDownloader.java | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java b/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java
|
||||
index e0a123bbd..50d4e12a1 100644
|
||||
--- a/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java
|
||||
+++ b/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java
|
||||
@@ -396,6 +396,8 @@ private URLConnection getDownloadConnection(URL location) throws IOException {
|
||||
}
|
||||
|
||||
private void downloadPackGzFile(URLConnection connection, URL downloadFrom, URL downloadTo) throws IOException {
|
||||
+ if (downloadFrom.equals(downloadTo))
|
||||
+ downloadFrom = new URL(downloadFrom + ".pack.gz");
|
||||
downloadFile(connection, downloadFrom);
|
||||
|
||||
uncompressPackGz(downloadFrom, downloadTo, resource.getDownloadVersion());
|
||||
@@ -405,6 +407,8 @@ private void downloadPackGzFile(URLConnection connection, URL downloadFrom, URL
|
||||
}
|
||||
|
||||
private void downloadGZipFile(URLConnection connection, URL downloadFrom, URL downloadTo) throws IOException {
|
||||
+ if (downloadFrom.equals(downloadTo))
|
||||
+ downloadFrom = new URL(downloadFrom + ".gz");
|
||||
downloadFile(connection, downloadFrom);
|
||||
|
||||
uncompressGzip(downloadFrom, downloadTo, resource.getDownloadVersion());
|
||||
|
||||
From 1f246bdcd3a7cf4db12b65a838cdcc228e8aec24 Mon Sep 17 00:00:00 2001
|
||||
From: lhersch <lhersch@dssgmbh.de>
|
||||
Date: Wed, 9 Nov 2022 13:38:11 +0100
|
||||
Subject: [PATCH 3/7] change to new rhino download url
|
||||
|
||||
---
|
||||
.github/workflows/build.yml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
|
||||
index 4f016d3a4..4df43d068 100644
|
||||
--- a/.github/workflows/build.yml
|
||||
+++ b/.github/workflows/build.yml
|
||||
@@ -49,7 +49,7 @@ jobs:
|
||||
gmp-devel java-1.8.0-openjdk-devel libcurl-devel make mpfr-devel perl unzip which zip
|
||||
curl -o tagsoup.jar "https://repo1.maven.org/maven2/org/ccil/cowan/tagsoup/tagsoup/1.2.1/tagsoup-1.2.1.jar"
|
||||
sha256sum tagsoup.jar | awk '$1!="ac97f7b4b1d8e9337edfa0e34044f8d0efe7223f6ad8f3a85d54cc1018ea2e04"{exit 1}'
|
||||
- curl -o rhino.zip "https://ftp.mozilla.org/pub/mozilla.org/js/rhino1_6R7.zip"
|
||||
+ curl -o rhino.zip "https://mediacdn.prod.productdelivery.prod.webservices.mozgcp.net/pub/js/rhino1_6R7.zip"
|
||||
sha256sum rhino.zip | awk '$1!="c94c6de3a29b3acbc4eee732e688f75a5d94bd02c9878be4ceb4d3cd220f3866"{exit 1}'
|
||||
unzip -j rhino.zip "*/js.jar"
|
||||
|
||||
@@ -161,7 +161,7 @@ jobs:
|
||||
sha256sum tagsoup.jar | awk '$1!="ac97f7b4b1d8e9337edfa0e34044f8d0efe7223f6ad8f3a85d54cc1018ea2e04"{exit 1}'
|
||||
curl -o mslinks.jar "https://repo1.maven.org/maven2/com/github/vatbub/mslinks/1.0.5/mslinks-1.0.5.jar"
|
||||
sha256sum mslinks.jar | awk '$1!="e14d756f81b310b75baeb5baf219d25592b6a8635eb215c4059f17493b0cea5c"{exit 1}'
|
||||
- curl -o rhino.zip "https://ftp.mozilla.org/pub/mozilla.org/js/rhino1_6R7.zip"
|
||||
+ curl -o rhino.zip "https://mediacdn.prod.productdelivery.prod.webservices.mozgcp.net/pub/js/rhino1_6R7.zip"
|
||||
sha256sum rhino.zip | awk '$1!="c94c6de3a29b3acbc4eee732e688f75a5d94bd02c9878be4ceb4d3cd220f3866"{exit 1}'
|
||||
unzip -j rhino.zip "*/js.jar"
|
||||
|
||||
|
||||
From d3c6a540a1e2405d19d1c743ac853c3520655c4d Mon Sep 17 00:00:00 2001
|
||||
From: lhersch <lhersch@dssgmbh.de>
|
||||
Date: Wed, 9 Nov 2022 14:24:55 +0100
|
||||
Subject: [PATCH 4/7] change to new rhino download url
|
||||
|
||||
---
|
||||
.github/workflows/build.yml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
|
||||
index 4df43d068..00abe0f89 100644
|
||||
--- a/.github/workflows/build.yml
|
||||
+++ b/.github/workflows/build.yml
|
||||
@@ -259,7 +259,7 @@ jobs:
|
||||
brew install autoconf automake coreutils freetype gnu-sed rust
|
||||
curl -o tagsoup.jar "https://repo1.maven.org/maven2/org/ccil/cowan/tagsoup/tagsoup/1.2.1/tagsoup-1.2.1.jar"
|
||||
sha256sum tagsoup.jar | awk '$1!="ac97f7b4b1d8e9337edfa0e34044f8d0efe7223f6ad8f3a85d54cc1018ea2e04"{exit 1}'
|
||||
- curl -o rhino.zip "https://ftp.mozilla.org/pub/mozilla.org/js/rhino1_6R7.zip"
|
||||
+ curl -o rhino.zip "https://mediacdn.prod.productdelivery.prod.webservices.mozgcp.net/pub/js/rhino1_6R7.zip"
|
||||
sha256sum rhino.zip | awk '$1!="c94c6de3a29b3acbc4eee732e688f75a5d94bd02c9878be4ceb4d3cd220f3866"{exit 1}'
|
||||
unzip -j rhino.zip "*/js.jar"
|
||||
|
||||
|
||||
From 8970fed7c8b4ba25adec786104f4d348947c84fe Mon Sep 17 00:00:00 2001
|
||||
From: Lars Herschke <lhersch@dssgmbh.de>
|
||||
Date: Thu, 10 Nov 2022 10:37:45 +0100
|
||||
Subject: [PATCH 5/7] fix checkout when using Cygwin Git
|
||||
|
||||
---
|
||||
.github/workflows/build.yml | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
|
||||
index 00abe0f89..8bfc780f5 100644
|
||||
--- a/.github/workflows/build.yml
|
||||
+++ b/.github/workflows/build.yml
|
||||
@@ -359,9 +359,11 @@ jobs:
|
||||
|
||||
- name: Cygwin git configuration
|
||||
shell: bash
|
||||
- run: mkdir $HOME && git config --system core.autocrlf false
|
||||
+ run: mkdir $HOME && git config --system core.autocrlf false && git config --system --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
+ with:
|
||||
+ set-safe-directory: false
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
|
||||
From be989488bb60c23b8ea2b5e95282d661d25a4077 Mon Sep 17 00:00:00 2001
|
||||
From: lherschi <lhersch@dssgmbh.de>
|
||||
Date: Sat, 26 Nov 2022 00:17:10 +0100
|
||||
Subject: [PATCH 6/7] backport of #868
|
||||
|
||||
---
|
||||
Makefile.am | 10 +++++++---
|
||||
configure.ac | 9 ++++-----
|
||||
.../jnlp/runtime/JNLPSecurityManager.java | 12 ++++++++----
|
||||
netx/net/sourceforge/jnlp/security/package-info.java | 2 +-
|
||||
.../sourceforge/jnlp/tools/CodeSignerCreator.java | 3 ++-
|
||||
5 files changed, 22 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index e44070c17..d762c002b 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -195,6 +195,9 @@ else
|
||||
NETX_EXCLUDE_SRCS=net.sourceforge.jnlp.MalformedXMLParser.java net.sourceforge.jnlp.util.WindowsDesktopEntry.java
|
||||
endif
|
||||
endif
|
||||
+if !ENABLE_PLUGINJAR
|
||||
+ NETX_EXCLUDE_SRCS+= net.sourceforge.jnlp.NetxPanel sun.applet.AppletViewerPanelAccess.java
|
||||
+endif
|
||||
|
||||
# Flags
|
||||
# macOS requires this flag, see https://youtrack.jetbrains.com/issue/IDEA-72010
|
||||
@@ -246,6 +249,7 @@ export ICEDTEAPLUGIN_TARGET = stamps/liveconnect-dist.stamp
|
||||
export PLUGIN_DIR=$(TOP_BUILD_DIR)/plugin/icedteanp
|
||||
export PLUGIN_SRCDIR=$(TOP_SRC_DIR)/plugin/icedteanp
|
||||
export JSOBJECT_DIRS = netscape
|
||||
+export SUN_DIR = sun
|
||||
export SUN_APPLET_DIRS = sun/applet
|
||||
export PLUGIN_PKGS = sun.applet netscape.security netscape.javascript
|
||||
export LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java
|
||||
@@ -283,7 +287,7 @@ if ENABLE_DOCS
|
||||
JAVADOC_OPTS=-use -keywords -encoding UTF-8 -splitIndex \
|
||||
-bottom '<font size="-1"> <a href="http://icedtea.classpath.org/bugzilla">Submit a bug or feature</a></font>'
|
||||
if HAVE_JAVA9
|
||||
-JAVADOC_OPTS+=-source $(IT_LANGUAGE_SOURCE_VERSION)
|
||||
+JAVADOC_OPTS+=-source $(IT_LANGUAGE_SOURCE_VERSION) --ignore-source-errors
|
||||
endif
|
||||
if JAVADOC_SUPPORTS_J_OPTIONS
|
||||
JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m
|
||||
@@ -956,11 +960,11 @@ stamps/netx-dist.stamp: stamps/netx.stamp $(TOP_BUILD_DIR)/netx.manifest stamps/
|
||||
(cd $(NETX_DIR) ; \
|
||||
mkdir -p lib ; \
|
||||
$(SYSTEM_JDK_DIR)/bin/jar cfm lib/classes.jar \
|
||||
- $(TOP_BUILD_DIR)/netx.manifest javax/jnlp net sun; \
|
||||
+ $(TOP_BUILD_DIR)/netx.manifest javax/jnlp net $(SUN_DIR); \
|
||||
cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \
|
||||
find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
|
||||
cd src ; \
|
||||
- $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net sun)
|
||||
+ $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net $(SUN_DIR))
|
||||
mkdir -p stamps
|
||||
touch $@
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b6710ed93..3b5b95ade 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -143,7 +143,6 @@ dnl PR46074 (gcc) - Missing java.net cookie code required by IcedTea plugin
|
||||
dnl IT563 - NetX uses sun.security code
|
||||
dnl IT605 - NetX depends on sun.misc HexDumpEncoder or sun.security.util.HexDumpEncoder
|
||||
dnl IT570 - NetX depends on sun.applet.AppletViewPanel
|
||||
-dnl IT571 - NetX depends on com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager.java
|
||||
dnl IT573 - Plugin depends on sun.awt,X11.XEmbeddedFrame.java
|
||||
dnl IT575 - Plugin depends on com.sun/jndi.toolkit.url.UrlUtil
|
||||
dnl IT576 - Plugin depends on sun.applet.AppletImageRef
|
||||
@@ -172,7 +171,6 @@ else
|
||||
IT_CHECK_FOR_CLASS(SUN_MISC_LAUNCHER, [sun.misc.Launcher], [some.pkg], [$JAVA_BASE])
|
||||
fi
|
||||
IT_CHECK_FOR_CLASS(SUN_SECURITY_VALIDATOR_VALIDATOREXCEPTION, [sun.security.validator.ValidatorException], [some.pkg], [$JAVA_BASE])
|
||||
-IT_CHECK_FOR_CLASS(COM_SUN_NET_SSL_INTERNAL_SSL_X509EXTENDEDTRUSTMANAGER, [com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager], [some.pkg], [$JAVA_BASE])
|
||||
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILE, [sun.net.www.protocol.jar.URLJarFile], [some.pkg], [$JAVA_BASE])
|
||||
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK, [sun.net.www.protocol.jar.URLJarFileCallBack], [some.pkg], [$JAVA_BASE])
|
||||
if test "x$build_linux" = xyes ; then
|
||||
@@ -186,9 +184,10 @@ if test "x$build_windows" = xyes ; then
|
||||
fi
|
||||
IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil], [some.pkg], [$JAVA_NAMING])
|
||||
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_HTTP_HANDLER, [sun.net.www.protocol.http.Handler], [some.pkg], [$JAVA_BASE])
|
||||
-IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef], [sun.applet], [$JAVA_DESKTOP])
|
||||
-
|
||||
-IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY
|
||||
+if test "$enable_pluginjar" = yes ; then
|
||||
+ IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef], [sun.applet], [$JAVA_DESKTOP])
|
||||
+ IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY
|
||||
+fi
|
||||
IT_CHECK_GLIB_VERSION
|
||||
IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR
|
||||
IT_CHECK_XULRUNNER_REQUIRES_C11
|
||||
diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
|
||||
index 6196a9ea7..fab17a80f 100644
|
||||
--- a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
|
||||
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
import static net.sourceforge.jnlp.runtime.Translator.R;
|
||||
|
||||
+import java.awt.AWTPermission;
|
||||
import java.awt.Window;
|
||||
import java.net.SocketPermission;
|
||||
import java.security.AccessControlException;
|
||||
@@ -343,7 +344,6 @@ private void addPermission(Permission perm) {
|
||||
* warning banner, and adds the window to the list of windows to
|
||||
* be disposed when the calling application exits.
|
||||
*/
|
||||
- @Override
|
||||
public boolean checkTopLevelWindow(Object window) {
|
||||
ApplicationInstance app = getApplication();
|
||||
|
||||
@@ -362,7 +362,12 @@ public boolean checkTopLevelWindow(Object window) {
|
||||
// todo: set awt.appletWarning to custom message
|
||||
// todo: logo on with glass pane on JFrame/JWindow?
|
||||
|
||||
- return super.checkTopLevelWindow(window);
|
||||
+ try {
|
||||
+ checkPermission(new AWTPermission("showWindowWithoutWarningBanner"));
|
||||
+ return true;
|
||||
+ } catch (Exception se) {
|
||||
+ return false;
|
||||
+ }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -432,7 +437,6 @@ protected void disableExit() {
|
||||
* @exception SecurityException if the caller does not have
|
||||
* permission to accesss the AWT event queue.
|
||||
*/
|
||||
- @Override
|
||||
public void checkAwtEventQueueAccess() {
|
||||
/*
|
||||
* this is the templace of the code that should allow applets access to
|
||||
@@ -446,7 +450,7 @@ public void checkAwtEventQueueAccess() {
|
||||
// If we're about to allow access to the main EventQueue,
|
||||
// and anything untrusted is on the class context stack,
|
||||
// disallow access.
|
||||
- super.checkAwtEventQueueAccess();
|
||||
+ checkPermission(new AWTPermission("accessEventQueue"));
|
||||
// }
|
||||
}
|
||||
|
||||
diff --git a/netx/net/sourceforge/jnlp/security/package-info.java b/netx/net/sourceforge/jnlp/security/package-info.java
|
||||
index a894f15c8..bac704a49 100644
|
||||
--- a/netx/net/sourceforge/jnlp/security/package-info.java
|
||||
+++ b/netx/net/sourceforge/jnlp/security/package-info.java
|
||||
@@ -32,7 +32,7 @@
|
||||
statement from your version.*/
|
||||
/**
|
||||
*package generally about showing various security prompts
|
||||
- *<h3>Following diagram shows how dialog is handled when some application/appelt needs to show it</h3>
|
||||
+ *<h2>Following diagram shows how dialog is handled when some application/appelt needs to show it</h2>
|
||||
*
|
||||
*<pre>
|
||||
{@code
|
||||
diff --git a/tests/test-extensions/net/sourceforge/jnlp/tools/CodeSignerCreator.java b/tests/test-extensions/net/sourceforge/jnlp/tools/CodeSignerCreator.java
|
||||
index 8d372c022..0eceef613 100644
|
||||
--- a/tests/test-extensions/net/sourceforge/jnlp/tools/CodeSignerCreator.java
|
||||
+++ b/tests/test-extensions/net/sourceforge/jnlp/tools/CodeSignerCreator.java
|
||||
@@ -204,7 +204,8 @@ private String getCertAndKeyGenClass() {
|
||||
String className = null;
|
||||
if (javaVersion.startsWith("1.7")) {
|
||||
className = "sun.security.x509.CertAndKeyGen";
|
||||
- } else if (javaVersion.startsWith("1.8") || javaVersion.startsWith("1.9")) {
|
||||
+ } else if (javaVersion.startsWith("1.8") ||
|
||||
+ javaVersion.matches("^(9|1[0-3])\\..*")) {
|
||||
className = "sun.security.tools.keytool.CertAndKeyGen";
|
||||
} else {
|
||||
throw new AssertionError("Unrecognized Java Version");
|
||||
|
||||
From 261ce91cfd6e09887c42ce0b4a4114fb7f511e3d Mon Sep 17 00:00:00 2001
|
||||
From: Frederic Thevenet <thevenet.fred@free.fr>
|
||||
Date: Tue, 28 Feb 2023 19:53:29 +0100
|
||||
Subject: [PATCH 7/7] Fixed issue #691: properties from extension jnlp are not
|
||||
set.
|
||||
|
||||
---
|
||||
.../jnlp/runtime/ApplicationInstance.java | 35 ++++++++++++++++++-
|
||||
1 file changed, 34 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java b/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java
|
||||
index 6acc5dd38..170e5032a 100644
|
||||
--- a/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java
|
||||
+++ b/netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java
|
||||
@@ -27,10 +27,15 @@
|
||||
import java.security.CodeSource;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.security.ProtectionDomain;
|
||||
+import java.util.ArrayList;
|
||||
+import java.util.Arrays;
|
||||
+import java.util.List;
|
||||
|
||||
import javax.swing.event.EventListenerList;
|
||||
|
||||
import sun.awt.AppContext;
|
||||
+import net.sourceforge.jnlp.ExtensionDesc;
|
||||
+import net.sourceforge.jnlp.ParseException;
|
||||
import net.sourceforge.jnlp.JNLPFile;
|
||||
import net.sourceforge.jnlp.PropertyDesc;
|
||||
import net.sourceforge.jnlp.SecurityDesc;
|
||||
@@ -314,7 +319,7 @@ public void finalize() {
|
||||
* Install the environment variables.
|
||||
*/
|
||||
void installEnvironment() {
|
||||
- final PropertyDesc props[] = file.getResources().getProperties();
|
||||
+ final List<PropertyDesc> props = collectPropertiesFromJnlpHierarchy(new ArrayList<>(), file);
|
||||
|
||||
CodeSource cs = new CodeSource((URL) null, (java.security.cert.Certificate[]) null);
|
||||
|
||||
@@ -331,6 +336,8 @@ void installEnvironment() {
|
||||
public Object run() {
|
||||
for (PropertyDesc propDesc : props) {
|
||||
System.setProperty(propDesc.getKey(), propDesc.getValue());
|
||||
+ OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG,
|
||||
+ "Setting property: " + propDesc.getKey() + " = " + propDesc.getValue());
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -339,6 +346,32 @@ public Object run() {
|
||||
AccessController.doPrivileged(installProps, acc);
|
||||
}
|
||||
|
||||
+ /**
|
||||
+ * Collects properties from the full hierarchy of JNLP files
|
||||
+ *
|
||||
+ * @param props a list of all properties collected so far
|
||||
+ * @param jnlpFile the current tip of the jnlp hierarchy
|
||||
+ * @return a list of properties collected from the full hierarchy of JNLP files
|
||||
+ */
|
||||
+ private List<PropertyDesc> collectPropertiesFromJnlpHierarchy(List<PropertyDesc> props, JNLPFile jnlpFile) {
|
||||
+ // Collect properties from the current jnlp file
|
||||
+ props.addAll(Arrays.asList(jnlpFile.getResources().getProperties()));
|
||||
+ for (ExtensionDesc ext : jnlpFile.getResources().getExtensions()) {
|
||||
+ // Recursively look for extension jnlp files to collect their properties
|
||||
+ try {
|
||||
+ ext.resolve();
|
||||
+ JNLPFile extFile = ext.getJNLPFile();
|
||||
+ if (extFile != null) {
|
||||
+ collectPropertiesFromJnlpHierarchy(props, extFile);
|
||||
+ }
|
||||
+ } catch (ParseException | IOException e) {
|
||||
+ OutputController.getLogger().log(OutputController.Level.WARNING_ALL,
|
||||
+ "Could not resolve JNLP file " + ext.getName() + " (declared properties won't be set): " + e.getMessage());
|
||||
+ }
|
||||
+ }
|
||||
+ return props;
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Returns the jnlpfile on which is this application based
|
||||
* @return JNLP file for this task.
|
@ -9,33 +9,34 @@
|
||||
|
||||
Name: icedtea-web
|
||||
Version: 1.8.8
|
||||
Release: 4mamba
|
||||
Release: 5mamba
|
||||
Summary: IcedTea Web Start implementation
|
||||
Group: System/Libraries/Java
|
||||
Vendor: openmamba
|
||||
Distribution: openmamba
|
||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
URL: https://icedtea.classpath.org/
|
||||
URL: https://github.com/AdoptOpenJDK/IcedTea-Web
|
||||
Source: https://github.com/AdoptOpenJDK/IcedTea-Web/archive/icedtea-web-%{version}.tar.gz
|
||||
Patch0: icedtea-web-1.8.8-upstream-changes.patch
|
||||
Patch1: icedtea-web-1.8.8-remove-dunce.patch
|
||||
Patch2: icedtea-web-1.8.8-no-pack200.patch
|
||||
Patch3: icedtea-web-1.8.8-bash-completion.patch
|
||||
Patch4: icedtea-web-1.8.8-disable-pluginjar.patch
|
||||
Patch5: icedtea-web-1.8.8-javadoc-param.patch
|
||||
Patch6: icedtea-web-1.8.8-untranslated-man-pages.patch
|
||||
License: GPL
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: libgcc
|
||||
BuildRequires: libglib-devel
|
||||
BuildRequires: libstdc++6-devel
|
||||
## AUTOBUILDREQ-END
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: eclipse-ecj
|
||||
BuildRequires: java-openjdk8
|
||||
BuildRequires: java-openjdk17
|
||||
BuildRequires: java-junit
|
||||
BuildRequires: java-rhino
|
||||
BuildRequires: java-hamcrest
|
||||
BuildRequires: java-tagsoup
|
||||
BuildRequires: objectweb-asm
|
||||
BuildRequires: rustc
|
||||
#BuildRequires: zsh
|
||||
Requires: java-openjdk8-runtime
|
||||
Requires: java-rhino
|
||||
Requires: java-openjdk17-runtime
|
||||
Obsoletes: icedtea-web-plugin <= 1.8.8-1mamba
|
||||
|
||||
%description
|
||||
@ -53,27 +54,39 @@ The IcedTea Web API documentation.
|
||||
|
||||
%prep
|
||||
%setup -q -n IcedTea-Web-%{name}-%{version}
|
||||
%patch 0 -p1 -b .upstream-changes
|
||||
%patch 1 -p1 -b .remove-dunce
|
||||
%patch 2 -p1 -b .no-pack200
|
||||
%patch 3 -p1 -b .bash-completion
|
||||
%patch 4 -p1 -b .disable-pluginjar
|
||||
%patch 5 -p1 -b .javadoc-param
|
||||
%patch 6 -p1 -b .untranslated-man-pages
|
||||
|
||||
# Remove applet support
|
||||
rm -rf plugin netx/sun netx/net/sourceforge/jnlp/{NetxPanel,runtime/RhinoBasedPacEvaluator,util/WindowsDesktopEntry}.java
|
||||
|
||||
# Remove unused sources
|
||||
rm -rf tests win-installer
|
||||
|
||||
./autogen.sh
|
||||
|
||||
%build
|
||||
unset JAVA_HOME CLASSPATH
|
||||
./configure \
|
||||
--with-pkgversion=openmamba-%{release}-%{_arch} \
|
||||
--prefix=%{_datadir}/icedtea-web \
|
||||
--datadir=%{_datadir} \
|
||||
--datarootdir=%{_datadir} \
|
||||
--mandir=%{_mandir} \
|
||||
--docdir=%{_docdir}/icedtea-web \
|
||||
--htmldir=%{_javadocdir}/icedtea-web \
|
||||
--with-jdk-home=%{_jvmdir}/java-8 \
|
||||
--with-jre-home=%{_jvmdir}/jre-8 \
|
||||
--with-chromium=%{_bindir}/chromium \
|
||||
--with-firefox=%{_bindir}/firefox \
|
||||
--with-epiphany=%{_bindir}/epiphany \
|
||||
--with-jdk-home=%{_jvmdir}/java-17 \
|
||||
--with-jre-home=%{_jvmdir}/jre-17 \
|
||||
--disable-native-plugin \
|
||||
--disable-pluginjar \
|
||||
--enable-shell-launchers \
|
||||
--with-itw-libs=DISTRIBUTION
|
||||
|
||||
# --enable-docs \
|
||||
# --with-ecj-jar=$(build-classpath eclipse-ecj) \
|
||||
|
||||
%make
|
||||
|
||||
%install
|
||||
@ -84,8 +97,17 @@ install -d -m 755 %{buildroot}%{_libdir}/mozilla/plugins
|
||||
|
||||
install -D -m0644 javaws.desktop %{buildroot}%{_datadir}/applications/javaws.desktop
|
||||
install -D -m0644 itweb-settings.desktop %{buildroot}%{_datadir}/applications/itweb-settings.desktop
|
||||
install -D -m0644 itweb-settings.desktop %{buildroot}%{_datadir}/applications/policyeditor.desktop
|
||||
install -D -m0644 javaws.png %{buildroot}%{_datadir}/pixmaps/javaws.png
|
||||
|
||||
# Install MetaInfo file for firefox
|
||||
install -D -p -m 0644 metadata/%{name}.metainfo.xml $RPM_BUILD_ROOT%{_metainfodir}/%{name}.metainfo.xml
|
||||
# Install MetaInfo file for javaws
|
||||
install -D -p -m 0644 metadata/%{name}-javaws.appdata.xml $RPM_BUILD_ROOT%{_metainfodir}/%{name}-javaws.metainfo.xml
|
||||
|
||||
# FIXME: provided in bash-completion package
|
||||
rm -f %{buildroot}%{_datadir}/bash-completion/completions/javaws
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
@ -99,6 +121,7 @@ fi
|
||||
:
|
||||
|
||||
%post
|
||||
if [ $1 -ge 1 ]; then
|
||||
[ -L /usr/bin/javaws -a "`readlink /usr/bin/javaws`" != "/etc/alternatives/javaws" ] &&
|
||||
rm -f /usr/bin/javaws 2>/dev/null
|
||||
/usr/sbin/update-alternatives --install %{_bindir}/javaws javaws %{_datadir}/icedtea-web/bin/javaws 71
|
||||
@ -107,6 +130,9 @@ fi
|
||||
rm -f /usr/bin/itweb-settings 2>/dev/null
|
||||
/usr/sbin/update-alternatives --install %{_bindir}/itweb-settings itweb-settings %{_datadir}/icedtea-web/bin/itweb-settings 71
|
||||
|
||||
/usr/sbin/update-alternatives --install %{_bindir}/policyeditor policyeditor %{_datadir}/icedtea-web/bin/policyeditor 71
|
||||
fi
|
||||
|
||||
update-desktop-database %{_datadir}/applications &> /dev/null || :
|
||||
|
||||
touch --no-create %{_datadir}/icons/hicolor
|
||||
@ -125,6 +151,8 @@ if [ $1 -eq 0 ]; then
|
||||
rm -f /usr/bin/itweb-settings
|
||||
/usr/sbin/update-alternatives --remove javaws %{_datadir}/icedtea-web/bin/itweb-settings
|
||||
|
||||
/usr/sbin/update-alternatives --remove policyeditor %{_datadir}/icedtea-web/bin/policyeditor
|
||||
|
||||
fi
|
||||
:
|
||||
|
||||
@ -136,6 +164,7 @@ if [ $1 -eq 0 ]; then
|
||||
[ -L /usr/bin/itweb-settings -a "`readlink /usr/bin/itweb-settings`" != "/etc/alternatives/itweb-settings" ] &&
|
||||
rm -f /usr/bin/itweb-settings
|
||||
/usr/sbin/update-alternatives --remove javaws %{_datadir}/icedtea-web/bin/itweb-settings
|
||||
/usr/sbin/update-alternatives --remove policyeditor %{_datadir}/icedtea-web/bin/policyeditor
|
||||
|
||||
fi
|
||||
|
||||
@ -151,6 +180,7 @@ fi
|
||||
if [ $1 -ge 1 ]; then
|
||||
/usr/sbin/update-alternatives --auto javaws
|
||||
/usr/sbin/update-alternatives --auto itweb-settings
|
||||
/usr/sbin/update-alternatives --auto policyeditor
|
||||
fi
|
||||
:
|
||||
|
||||
@ -160,16 +190,15 @@ fi
|
||||
%{_datadir}/icedtea-web/*
|
||||
%{_datadir}/applications/itweb-settings.desktop
|
||||
%{_datadir}/applications/javaws.desktop
|
||||
%{_datadir}/bash-completion/completions/*.bash
|
||||
%{_datadir}/applications/policyeditor.desktop
|
||||
%{_metainfodir}/icedtea-web-javaws.metainfo.xml
|
||||
%{_metainfodir}/icedtea-web.metainfo.xml
|
||||
%{_datadir}/bash-completion/completions/*
|
||||
%{_datadir}/pixmaps/javaws.png
|
||||
%{_mandir}/man1/icedtea-web-plugin.1*
|
||||
%{_mandir}/man1/icedtea-web.1*
|
||||
%{_mandir}/man1/itweb-settings.1*
|
||||
%{_mandir}/man1/javaws.1*
|
||||
%{_mandir}/man1/policyeditor.1*
|
||||
%lang(cs) %{_mandir}/cs/man1/*.1*
|
||||
%lang(de) %{_mandir}/de/man1/*.1*
|
||||
%lang(pl) %{_mandir}/pl/man1/*.1*
|
||||
%doc AUTHORS COPYING
|
||||
|
||||
%files javadoc
|
||||
@ -177,6 +206,9 @@ fi
|
||||
%{_javadocdir}/icedtea-web
|
||||
|
||||
%changelog
|
||||
* Thu Dec 05 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 1.8.8-5mamba
|
||||
- removed build requirement for eclipse-ecj, rebuilt with java 17 (patches from Fedora)
|
||||
|
||||
* Wed Oct 25 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 1.8.8-4mamba
|
||||
- rebuild with only necessary builddeps and deps
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user