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:
Silvan Calarco 2024-12-05 22:28:15 +01:00
parent fd6ca8ccbf
commit 6d0545793f
8 changed files with 734 additions and 23 deletions

View 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

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

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

View 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);
}
/**

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

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

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

View File

@ -9,33 +9,34 @@
Name: icedtea-web Name: icedtea-web
Version: 1.8.8 Version: 1.8.8
Release: 4mamba Release: 5mamba
Summary: IcedTea Web Start implementation Summary: IcedTea Web Start implementation
Group: System/Libraries/Java Group: System/Libraries/Java
Vendor: openmamba Vendor: openmamba
Distribution: openmamba Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it> 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 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 License: GPL
## AUTOBUILDREQ-BEGIN ## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel BuildRequires: glibc-devel
BuildRequires: libgcc BuildRequires: libgcc
BuildRequires: libglib-devel
BuildRequires: libstdc++6-devel
## AUTOBUILDREQ-END ## AUTOBUILDREQ-END
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: eclipse-ecj BuildRequires: java-openjdk17
BuildRequires: java-openjdk8
BuildRequires: java-junit BuildRequires: java-junit
BuildRequires: java-rhino
BuildRequires: java-hamcrest BuildRequires: java-hamcrest
BuildRequires: java-tagsoup BuildRequires: java-tagsoup
BuildRequires: objectweb-asm BuildRequires: objectweb-asm
BuildRequires: rustc BuildRequires: rustc
#BuildRequires: zsh Requires: java-openjdk17-runtime
Requires: java-openjdk8-runtime
Requires: java-rhino
Obsoletes: icedtea-web-plugin <= 1.8.8-1mamba Obsoletes: icedtea-web-plugin <= 1.8.8-1mamba
%description %description
@ -53,27 +54,39 @@ The IcedTea Web API documentation.
%prep %prep
%setup -q -n IcedTea-Web-%{name}-%{version} %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 ./autogen.sh
%build %build
unset JAVA_HOME CLASSPATH unset JAVA_HOME CLASSPATH
./configure \ ./configure \
--with-pkgversion=openmamba-%{release}-%{_arch} \
--prefix=%{_datadir}/icedtea-web \ --prefix=%{_datadir}/icedtea-web \
--datadir=%{_datadir} \ --datadir=%{_datadir} \
--datarootdir=%{_datadir} \ --datarootdir=%{_datadir} \
--mandir=%{_mandir} \ --mandir=%{_mandir} \
--docdir=%{_docdir}/icedtea-web \ --docdir=%{_docdir}/icedtea-web \
--htmldir=%{_javadocdir}/icedtea-web \ --htmldir=%{_javadocdir}/icedtea-web \
--with-jdk-home=%{_jvmdir}/java-8 \ --with-jdk-home=%{_jvmdir}/java-17 \
--with-jre-home=%{_jvmdir}/jre-8 \ --with-jre-home=%{_jvmdir}/jre-17 \
--with-chromium=%{_bindir}/chromium \ --disable-native-plugin \
--with-firefox=%{_bindir}/firefox \ --disable-pluginjar \
--with-epiphany=%{_bindir}/epiphany \ --enable-shell-launchers \
--with-itw-libs=DISTRIBUTION --with-itw-libs=DISTRIBUTION
# --enable-docs \
# --with-ecj-jar=$(build-classpath eclipse-ecj) \
%make %make
%install %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 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/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 -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 %clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" [ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
@ -99,6 +121,7 @@ fi
: :
%post %post
if [ $1 -ge 1 ]; then
[ -L /usr/bin/javaws -a "`readlink /usr/bin/javaws`" != "/etc/alternatives/javaws" ] && [ -L /usr/bin/javaws -a "`readlink /usr/bin/javaws`" != "/etc/alternatives/javaws" ] &&
rm -f /usr/bin/javaws 2>/dev/null rm -f /usr/bin/javaws 2>/dev/null
/usr/sbin/update-alternatives --install %{_bindir}/javaws javaws %{_datadir}/icedtea-web/bin/javaws 71 /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 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}/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 || : update-desktop-database %{_datadir}/applications &> /dev/null || :
touch --no-create %{_datadir}/icons/hicolor touch --no-create %{_datadir}/icons/hicolor
@ -125,6 +151,8 @@ if [ $1 -eq 0 ]; then
rm -f /usr/bin/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 javaws %{_datadir}/icedtea-web/bin/itweb-settings
/usr/sbin/update-alternatives --remove policyeditor %{_datadir}/icedtea-web/bin/policyeditor
fi 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" ] && [ -L /usr/bin/itweb-settings -a "`readlink /usr/bin/itweb-settings`" != "/etc/alternatives/itweb-settings" ] &&
rm -f /usr/bin/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 javaws %{_datadir}/icedtea-web/bin/itweb-settings
/usr/sbin/update-alternatives --remove policyeditor %{_datadir}/icedtea-web/bin/policyeditor
fi fi
@ -151,6 +180,7 @@ fi
if [ $1 -ge 1 ]; then if [ $1 -ge 1 ]; then
/usr/sbin/update-alternatives --auto javaws /usr/sbin/update-alternatives --auto javaws
/usr/sbin/update-alternatives --auto itweb-settings /usr/sbin/update-alternatives --auto itweb-settings
/usr/sbin/update-alternatives --auto policyeditor
fi fi
: :
@ -160,16 +190,15 @@ fi
%{_datadir}/icedtea-web/* %{_datadir}/icedtea-web/*
%{_datadir}/applications/itweb-settings.desktop %{_datadir}/applications/itweb-settings.desktop
%{_datadir}/applications/javaws.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 %{_datadir}/pixmaps/javaws.png
%{_mandir}/man1/icedtea-web-plugin.1*
%{_mandir}/man1/icedtea-web.1* %{_mandir}/man1/icedtea-web.1*
%{_mandir}/man1/itweb-settings.1* %{_mandir}/man1/itweb-settings.1*
%{_mandir}/man1/javaws.1* %{_mandir}/man1/javaws.1*
%{_mandir}/man1/policyeditor.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 %doc AUTHORS COPYING
%files javadoc %files javadoc
@ -177,6 +206,9 @@ fi
%{_javadocdir}/icedtea-web %{_javadocdir}/icedtea-web
%changelog %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 * Wed Oct 25 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 1.8.8-4mamba
- rebuild with only necessary builddeps and deps - rebuild with only necessary builddeps and deps