From 2090da310d7dcc53c16eddc0af9aa26eed07e2f9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 13:41:04 +0000 Subject: [PATCH 01/40] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- java-runtime-decompiler.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index f732b91..5ecc78a 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 6.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz @@ -117,6 +117,9 @@ desktop-file-install --vendor="fedora" \ %license LICENSE %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Sun Dec 26 2021 Fedora Release Engineering - 6.0.0.pre.3-1 - bumped sources to upstream rc candidate From e100240af47a3f6d254539908e3a04b7e21a64b8 Mon Sep 17 00:00:00 2001 From: Jiri Date: Sat, 5 Feb 2022 21:25:40 +0100 Subject: [PATCH 02/40] Rebuilt for java-17-openjdk as system jdk https://fedoraproject.org/wiki/Changes/Java17 --- java-runtime-decompiler.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 5ecc78a..732473b 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 6.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz @@ -117,6 +117,9 @@ desktop-file-install --vendor="fedora" \ %license LICENSE %changelog +* Sat Feb 05 2022 Jiri Vanek - 6.1-3 +- Rebuilt for java-17-openjdk as system jdk + * Thu Jan 20 2022 Fedora Release Engineering - 6.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 5b71d03411f7f3e764f56337106ffe1c358680dc Mon Sep 17 00:00:00 2001 From: Jiri Date: Fri, 8 Jul 2022 15:38:22 +0200 Subject: [PATCH 03/40] Rebuilt for Drop i686 JDKs https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs --- java-runtime-decompiler.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 732473b..1a87cbb 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 6.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz @@ -16,6 +16,7 @@ Patch6: systemJcoder.patch Patch7: removeMultilineSpotbugs.patch BuildArch: noarch +ExclusiveArch: %{java_arches} noarch BuildRequires: maven-local BuildRequires: byteman BuildRequires: rsyntaxtextarea @@ -117,6 +118,9 @@ desktop-file-install --vendor="fedora" \ %license LICENSE %changelog +* Fri Jul 08 2022 Jiri Vanek - 6.1-4 +- Rebuilt for Drop i686 JDKs + * Sat Feb 05 2022 Jiri Vanek - 6.1-3 - Rebuilt for java-17-openjdk as system jdk From 0ba44203745691ef7d23d9bd07ae65af90a47b87 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 15:07:04 +0000 Subject: [PATCH 04/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- java-runtime-decompiler.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 1a87cbb..4726063 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 6.1 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz @@ -118,6 +118,9 @@ desktop-file-install --vendor="fedora" \ %license LICENSE %changelog +* Thu Jul 21 2022 Fedora Release Engineering - 6.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Fri Jul 08 2022 Jiri Vanek - 6.1-4 - Rebuilt for Drop i686 JDKs From bca7c96f93d08ee65263d7f2b4c38a20e2e1a71e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 13:36:46 +0000 Subject: [PATCH 05/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- java-runtime-decompiler.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 4726063..2bb7dcb 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 6.1 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz @@ -118,6 +118,9 @@ desktop-file-install --vendor="fedora" \ %license LICENSE %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 6.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Thu Jul 21 2022 Fedora Release Engineering - 6.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 4bf0872e616d19ed594256afdb477fa6af4226f5 Mon Sep 17 00:00:00 2001 From: Jiri Date: Wed, 15 Mar 2023 10:33:27 +0100 Subject: [PATCH 06/40] moved to jrd 7.1 todo: asm7/g/procyonassembler wrappers new launchers new classpath (diff, cplc api...) ? --- .gitignore | 1 + java-runtime-decompiler.spec | 26 ++++++++++++++++++-------- removeMultilineSpotbugs.patch | 13 +++++++++++++ sources | 2 +- systemJasm.patch | 5 ++--- systemJcoder.patch | 4 ++-- systemProcyon.patch | 14 +++++++------- 7 files changed, 44 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index c014da0..741bd3d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /java-runtime-decompiler-6.0.0.pre.2.tar.gz /java-runtime-decompiler-6.0.0.pre.3.tar.gz /java-runtime-decompiler-6.1.tar.gz +/java-runtime-decompiler-7.1.tar.gz diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 2bb7dcb..45a3fa2 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler -Version: 6.1 -Release: 6%{?dist} +Version: 7.1 +Release: 1%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz @@ -24,6 +24,7 @@ BuildRequires: junit5 BuildRequires: ant-junit5 BuildRequires: junit BuildRequires: ant-junit +BuildRequires: java-diff-utils BuildRequires: maven-surefire-provider-junit BuildRequires: maven-surefire-provider-junit5 BuildRequires: maven-surefire @@ -36,14 +37,17 @@ BuildRequires: classpathless-compiler Requires: java-headless Recommends: java Requires: classpathless-compiler +Requires: java-diff-utils Recommends: fernflower -Recommends: procyon-decompiler +Recommends: procyon-decompiler >= 0.6 Recommends: CFR -Recommends: openjdk-asmtools +Recommends: openjdk-asmtools >= 8.0 +Recommends: openjdk-asmtools7 %description This application can access JVM memory at runtime, extract byte code from the JVM and decompile it. +In addition, it can modify the obtained code and comple it back %package javadoc Summary: Javadoc for %{name} @@ -75,9 +79,13 @@ for x in $a ; do #grep -e ".*SuppressFBWarnings.*" $x && echo "^ $x ^" sed "s/.*SuppressFBWarnings.*//g" $x -i done - +xmvn --version +echo $JAVA_HOME +export JAVA_HOME=/usr/lib/jvm/java-17-openjdk #why? +xmvn --version %mvn_build -f --xmvn-javadoc -- -Plegacy -java -cp /usr/share/java/classpathless-compiler/classpathless-compiler.jar:runtime-decompiler/target/runtime-decompiler-%{version}.jar org.jrd.backend.data.Help > %{name}.1 +CPLC=/usr/share/java/classpathless-compiler +java -cp $CPLC/classpathless-compiler.jar:$CPLC/classpathless-compiler-api.jar:$CPLC/classpathless-compiler-util.jar:runtime-decompiler/target/runtime-decompiler-%{version}.jar org.jrd.backend.data.cli.Help > %{name}.1 %install %mvn_install @@ -118,8 +126,10 @@ desktop-file-install --vendor="fedora" \ %license LICENSE %changelog -* Thu Jan 19 2023 Fedora Release Engineering - 6.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild +* Thu Mar 15 2023 Fedora Release Engineering - 7.1-1 +- moved to jrd 7.1 +- todo:asm7/g/procyonassembler wrappers, new launchers, new classpath (diff, cplc api...) +- verify current wrappers * Thu Jul 21 2022 Fedora Release Engineering - 6.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/removeMultilineSpotbugs.patch b/removeMultilineSpotbugs.patch index 51763b5..e612855 100644 --- a/removeMultilineSpotbugs.patch +++ b/removeMultilineSpotbugs.patch @@ -36,4 +36,17 @@ class FileSelectorArrayRowTest { @BeforeAll static void setup() { +--- a/runtime-decompiler/src/main/java/org/jrd/backend/data/cli/utils/CompileArguments.java ++++ a/runtime-decompiler/src/main/java/org/jrd/backend/data/cli/utils/CompileArguments.java +@@ -77,10 +77,6 @@ + return new RuntimeCompilerConnector.JrdClassesProvider(localVmInfo, vmManager); + } + +- @SuppressFBWarnings( +- value = "NP_LOAD_OF_KNOWN_NULL_VALUE", +- justification = "Classpath is only used for FS VMs, in other cases getCp() does not get called" +- ) + /** + * Warning, possibly unused, rotten code. + */ diff --git a/sources b/sources index 2c65d53..2d86801 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (java-runtime-decompiler-6.1.tar.gz) = 41bd87f0311d47819107fbd34173e4e1cebef71eb8651a337fb71a30947ffbb6bcaea6877508e0a02b0b2fcead7fe51497ed6251329a0254a8ee48220275e86f +SHA512 (java-runtime-decompiler-7.1.tar.gz) = 09f76e0f82823089ce122a02b66664535afba3a5bbd30a48f2cf1ba505647d75ba67b2c361eadd084d025ff77298f6973c9eaaef970ff5a83d69573c3ab5fd7b diff --git a/systemJasm.patch b/systemJasm.patch index b5099af..eff068f 100644 --- a/systemJasm.patch +++ b/systemJasm.patch @@ -6,9 +6,8 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JasmDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JasmDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/openjdk/asmtools/asmtools-core/7.0.b10-ea/asmtools-core-7.0.b10-ea.jar" -+ "file:/usr/share/java/openjdk-asmtools/asmtools-core.jar" +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b02-ea/asmtools-8.0.b02-ea.jar" ++ "file:/usr/share/java/openjdk-asmtools/asmtools.jar" ], "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" } - diff --git a/systemJcoder.patch b/systemJcoder.patch index bdbacc7..cf6ce68 100644 --- a/systemJcoder.patch +++ b/systemJcoder.patch @@ -6,8 +6,8 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JcoderDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JcoderDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/openjdk/asmtools/asmtools-core/7.0.b10-ea/asmtools-core-7.0.b10-ea.jar" -+ "file:/usr/share/java/openjdk-asmtools/asmtools-core.jar" +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b02-ea/asmtools-8.0.b02-ea.jar" ++ "file:/usr/share/java/openjdk-asmtools/asmtools.jar" ], "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" } diff --git a/systemProcyon.patch b/systemProcyon.patch index 342a998..74bf4e5 100644 --- a/systemProcyon.patch +++ b/systemProcyon.patch @@ -1,17 +1,17 @@ --- runtime-decompiler/src/plugins/ProcyonDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 +++ runtime-decompiler/src/plugins/ProcyonDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 -@@ -1,9 +1,10 @@ - { +@@ -2,9 +2,9 @@ "Name": "Procyon", -- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/ProcyonDecompilerWrapper.java", -+ "WrapperURL": "file:///etc/java-runtime-decompiler/plugins/ProcyonDecompilerWrapper.java", + "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/ProcyonDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/bitbucket/mstrobel/procyon-core/0.5.36/procyon-core-0.5.36.jar", -- "file://${HOME}/.m2/repository/org/bitbucket/mstrobel/procyon-compilertools/0.5.36/procyon-compilertools-0.5.36.jar" +- "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-core/1.0-SNAPSHOT/procyon-core-1.0-SNAPSHOT.jar", +- "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-compilertools/1.0-SNAPSHOT/procyon-compilertools-1.0-SNAPSHOT.jar", +- "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-decompiler/1.0-SNAPSHOT/procyon-decompiler-1.0-SNAPSHOT.jar" + "/usr/share/java/procyon/procyon-core.jar", + "/usr/share/java/procyon/procyon-compilertools.jar", + "/usr/share/java/procyon/procyon-decompiler.jar" ], - "DecompilerDownloadURL": "https://bitbucket.org/mstrobel/procyon/downloads/" + "DecompilerDownloadURL": "https://github.com/mstrobel/procyon/git " } + From ff42bdeea2045bc3834f249016f8397ae746dab5 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Fri, 17 Mar 2023 16:31:01 +0100 Subject: [PATCH 07/40] Adapted decompiler plugins todo, test them (and a bit more) --- java-runtime-decompiler.spec | 41 +++++++++++++++++++++++++++++++++--- systemJasm7.patch | 13 ++++++++++++ systemJasmG.patch | 13 ++++++++++++ systemJasmG7.patch | 13 ++++++++++++ systemJcoder7.patch | 14 ++++++++++++ systemJcoderG.patch | 14 ++++++++++++ systemJcoderG7.patch | 14 ++++++++++++ systemProcyon.patch | 3 ++- systemProcyonAssembler.patch | 18 ++++++++++++++++ 9 files changed, 139 insertions(+), 4 deletions(-) create mode 100644 systemJasm7.patch create mode 100644 systemJasmG.patch create mode 100644 systemJasmG7.patch create mode 100644 systemJcoder7.patch create mode 100644 systemJcoderG.patch create mode 100644 systemJcoderG7.patch create mode 100644 systemProcyonAssembler.patch diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 45a3fa2..373f868 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -9,10 +9,17 @@ Source1: java-runtime-decompiler Source3: jrd.desktop Patch1: systemFernflower.patch Patch2: systemProcyon.patch +Patch21: systemProcyonAssembler.patch Patch3: rsyntaxVersion.patch Patch4: systemCfr.patch Patch5: systemJasm.patch +Patch51: systemJasm7.patch +Patch52: systemJasmG.patch +Patch53: systemJasmG7.patch Patch6: systemJcoder.patch +Patch61: systemJcoder7.patch +Patch62: systemJcoderG.patch +Patch63: systemJcoderG7.patch Patch7: removeMultilineSpotbugs.patch BuildArch: noarch @@ -60,10 +67,17 @@ This package contains the API documentation for %{name}. %setup -q -n %{name}-%{name}-%{version} %patch1 -p0 %patch2 -p0 +%patch21 -p0 %patch3 -p0 %patch4 -p0 %patch5 -p0 +%patch51 -p0 +%patch52 -p0 +%patch53 -p0 %patch6 -p0 +%patch61 -p0 +%patch62 -p0 +%patch63 -p0 %patch7 -p1 %build @@ -101,6 +115,11 @@ install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/applications desktop-file-install --vendor="fedora" \ --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE3} +#jd is not yet packed and sucks anyway +rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.java +rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json + + %files -f .mfiles %attr(755, root, -) %{_bindir}/java-runtime-decompiler %{_mandir}/man1/java-runtime-decompiler.1* @@ -111,12 +130,26 @@ desktop-file-install --vendor="fedora" \ %config(noreplace) %{_sysconfdir}/%{name}/plugins/FernflowerDecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/ProcyonDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/ProcyonDecompilerWrapper.json +%config %{_sysconfdir}/%{name}/plugins/ProcyonAssemblerDecompilerWrapper.java +%config(noreplace) %{_sysconfdir}/%{name}/plugins/ProcyonAssemblerDecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/CfrDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/CfrDecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/JasmDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/JasmDecompilerWrapper.json +%config %{_sysconfdir}/%{name}/plugins/JasmGDecompilerWrapper.java +%config(noreplace) %{_sysconfdir}/%{name}/plugins/JasmGDecompilerWrapper.json +%config %{_sysconfdir}/%{name}/plugins/Jasm7DecompilerWrapper.java +%config(noreplace) %{_sysconfdir}/%{name}/plugins/Jasm7DecompilerWrapper.json +%config %{_sysconfdir}/%{name}/plugins/JasmG7DecompilerWrapper.java +%config(noreplace) %{_sysconfdir}/%{name}/plugins/JasmG7DecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/JcoderDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/JcoderDecompilerWrapper.json +%config %{_sysconfdir}/%{name}/plugins/JcoderGDecompilerWrapper.java +%config(noreplace) %{_sysconfdir}/%{name}/plugins/JcoderGDecompilerWrapper.json +%config %{_sysconfdir}/%{name}/plugins/Jcoder7DecompilerWrapper.java +%config(noreplace) %{_sysconfdir}/%{name}/plugins/Jcoder7DecompilerWrapper.json +%config %{_sysconfdir}/%{name}/plugins/JcoderG7DecompilerWrapper.java +%config(noreplace) %{_sysconfdir}/%{name}/plugins/JcoderG7DecompilerWrapper.json %license LICENSE %dir %{_datadir}/applications @@ -126,10 +159,12 @@ desktop-file-install --vendor="fedora" \ %license LICENSE %changelog -* Thu Mar 15 2023 Fedora Release Engineering - 7.1-1 +* Wed Mar 15 2023 Fedora Release Engineering - 7.1-1 - moved to jrd 7.1 -- todo:asm7/g/procyonassembler wrappers, new launchers, new classpath (diff, cplc api...) -- verify current wrappers +- todo: new launchers, new classpath (diff, cplc api...) +- verify current wrappers +- fixed procyon wrapper +- removed jd wrapper (was new in 7.1) * Thu Jul 21 2022 Fedora Release Engineering - 6.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/systemJasm7.patch b/systemJasm7.patch new file mode 100644 index 0000000..5b4da96 --- /dev/null +++ b/systemJasm7.patch @@ -0,0 +1,13 @@ +--- runtime-decompiler/src/plugins/Jasm7DecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 ++++ runtime-decompiler/src/plugins/Jasm7DecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 +@@ -1,8 +1,8 @@ + { + "Name": "jasm7", +- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/Jasm7DecompilerWrapper.java", ++ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/Jasm7DecompilerWrapper.java", + "DependencyURL": [ +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/asmtools-core/7.0.b10-ea/asmtools-core-7.0.b10-ea.jar" ++ "file:/usr/share/java/openjdk-asmtools7/asmtools-core.jar" + ], + "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" + } diff --git a/systemJasmG.patch b/systemJasmG.patch new file mode 100644 index 0000000..0171e99 --- /dev/null +++ b/systemJasmG.patch @@ -0,0 +1,13 @@ +--- runtime-decompiler/src/plugins/JasmGDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 ++++ runtime-decompiler/src/plugins/JasmGDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 +@@ -1,8 +1,8 @@ + { + "Name": "jasmG", +- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JasmGDecompilerWrapper.java", ++ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JasmGDecompilerWrapper.java", + "DependencyURL": [ +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b02-ea/asmtools-8.0.b02-ea.jar" ++ "file:/usr/share/java/openjdk-asmtools/asmtools.jar" + ], + "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" + } diff --git a/systemJasmG7.patch b/systemJasmG7.patch new file mode 100644 index 0000000..f0f0e55 --- /dev/null +++ b/systemJasmG7.patch @@ -0,0 +1,13 @@ +--- runtime-decompiler/src/plugins/JasmG7DecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 ++++ runtime-decompiler/src/plugins/JasmG7DecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 +@@ -1,8 +1,8 @@ + { + "Name": "jasmG7", +- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JasmG7DecompilerWrapper.java", ++ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JasmG7DecompilerWrapper.java", + "DependencyURL": [ +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/asmtools-core/7.0.b10-ea/asmtools-core-7.0.b10-ea.jar" ++ "file:/usr/share/java/openjdk-asmtools7/asmtools-core.jar" + ], + "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" + } diff --git a/systemJcoder7.patch b/systemJcoder7.patch new file mode 100644 index 0000000..d39c0ce --- /dev/null +++ b/systemJcoder7.patch @@ -0,0 +1,14 @@ +--- runtime-decompiler/src/plugins/Jcoder7DecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 ++++ runtime-decompiler/src/plugins/Jcoder7DecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 +@@ -1,8 +1,8 @@ + { + "Name": "jcoder7", +- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/Jcoder7DecompilerWrapper.java", ++ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/Jcoder7DecompilerWrapper.java", + "DependencyURL": [ +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/asmtools-core/7.0.b10-ea/asmtools-core-7.0.b10-ea.jar" ++ "file:/usr/share/java/openjdk-asmtools7/asmtools-core.jar" + ], + "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" + } + diff --git a/systemJcoderG.patch b/systemJcoderG.patch new file mode 100644 index 0000000..85d8a63 --- /dev/null +++ b/systemJcoderG.patch @@ -0,0 +1,14 @@ +--- runtime-decompiler/src/plugins/JcoderGDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 ++++ runtime-decompiler/src/plugins/JcoderGDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 +@@ -1,8 +1,8 @@ + { + "Name": "jcoderG", +- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JcoderGDecompilerWrapper.java", ++ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JcoderGDecompilerWrapper.java", + "DependencyURL": [ +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b02-ea/asmtools-8.0.b02-ea.jar" ++ "file:/usr/share/java/openjdk-asmtools/asmtools.jar" + ], + "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" + } + diff --git a/systemJcoderG7.patch b/systemJcoderG7.patch new file mode 100644 index 0000000..832113b --- /dev/null +++ b/systemJcoderG7.patch @@ -0,0 +1,14 @@ +--- runtime-decompiler/src/plugins/JcoderG7DecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 ++++ runtime-decompiler/src/plugins/JcoderG7DecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 +@@ -1,8 +1,8 @@ + { + "Name": "jcoderG7", +- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JcoderG7DecompilerWrapper.java", ++ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JcoderG7DecompilerWrapper.java", + "DependencyURL": [ +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/asmtools-core/7.0.b10-ea/asmtools-core-7.0.b10-ea.jar" ++ "file:/usr/share/java/openjdk-asmtools7/asmtools-core.jar" + ], + "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" + } + diff --git a/systemProcyon.patch b/systemProcyon.patch index 74bf4e5..35e93a2 100644 --- a/systemProcyon.patch +++ b/systemProcyon.patch @@ -2,7 +2,8 @@ +++ runtime-decompiler/src/plugins/ProcyonDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 @@ -2,9 +2,9 @@ "Name": "Procyon", - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/ProcyonDecompilerWrapper.java", +- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/ProcyonDecompilerWrapper.java", ++ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/ProcyonDecompilerWrapper.java", "DependencyURL": [ - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-core/1.0-SNAPSHOT/procyon-core-1.0-SNAPSHOT.jar", - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-compilertools/1.0-SNAPSHOT/procyon-compilertools-1.0-SNAPSHOT.jar", diff --git a/systemProcyonAssembler.patch b/systemProcyonAssembler.patch new file mode 100644 index 0000000..e53372b --- /dev/null +++ b/systemProcyonAssembler.patch @@ -0,0 +1,18 @@ +--- runtime-decompiler/src/plugins/ProcyonAssemblerDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 ++++ runtime-decompiler/src/plugins/ProcyonAssemblerDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 +@@ -2,9 +2,9 @@ + "Name": "Procyon-Assembler", +- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/ProcyonAssemblerDecompilerWrapper.java", ++ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/ProcyonAssemblerDecompilerWrapper.java", + "DependencyURL": [ +- "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-core/1.0-SNAPSHOT/procyon-core-1.0-SNAPSHOT.jar", +- "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-compilertools/1.0-SNAPSHOT/procyon-compilertools-1.0-SNAPSHOT.jar", +- "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-decompiler/1.0-SNAPSHOT/procyon-decompiler-1.0-SNAPSHOT.jar" ++ "/usr/share/java/procyon/procyon-core.jar", ++ "/usr/share/java/procyon/procyon-compilertools.jar", ++ "/usr/share/java/procyon/procyon-decompiler.jar" + ], + "DecompilerDownloadURL": "https://github.com/mstrobel/procyon/git " + } + + From 3ddebd05088166cd139008ad1967ead38f7e0ebd Mon Sep 17 00:00:00 2001 From: Jiri Date: Sat, 18 Mar 2023 09:19:14 +0100 Subject: [PATCH 08/40] split plugins to subpkgs and adapted launchers procyon crashes without warning, asmtool8 packed in bad, old version --- java-runtime-decompiler | 41 ++++++------ java-runtime-decompiler.spec | 124 ++++++++++++++++++++++++++++------- jrd-hex.desktop | 9 +++ jrd.desktop | 1 + 4 files changed, 128 insertions(+), 47 deletions(-) create mode 100644 jrd-hex.desktop diff --git a/java-runtime-decompiler b/java-runtime-decompiler index 8d2082d..331de22 100644 --- a/java-runtime-decompiler +++ b/java-runtime-decompiler @@ -16,41 +16,35 @@ function warning() { fi } -# identify directory tree -JRD=`basename $0` +# the launcher is reused uder different name, hardcoding name +JRD=java-runtime-decompiler CONF_HOME=$XDG_CONFIG_HOME if [ "$CONF_HOME" = "" ] ; then CONF_HOME=$HOME/.config/$JRD - else CONF_HOME=$CONF_HOME/$JRD - fi LOG_DIR=$CONF_HOME/logs - CONF_DIR=$CONF_HOME/conf - -# create directory tree PLUGIN_HOME=$CONF_HOME/plugins +PLUGIN_HOME_LEGACY=$CONF_HOME/plugins-legacy mkdir -p $LOG_DIR - mkdir -p $CONF_DIR - mkdir -p $PLUGIN_HOME : ${MAIN_CLASS:=org.jrd.backend.data.Main} # set java and jvm arguments -export _prefer_jre=false +export _prefer_jre=false #although java moved compiler classes to jre, PREFERING jdk should not hurt _set_java_home set_jvm # all dependencies must be on classpath -set_classpath java-runtime-decompiler rsyntaxtextarea byteman google-gson classpathless-compiler objectweb-asm +set_classpath java-runtime-decompiler rsyntaxtextarea byteman google-gson classpathless-compiler objectweb-asm java-diff-utils CLASSPATH=$CLASSPATH:${JAVA_HOME}/lib/tools.jar # set path to agent automatically @@ -60,16 +54,19 @@ AGENT_PREFIX="AGENT_PATH===" AGENT_STRING=$AGENT_PREFIX$AGENT # copy json wrappers information to home so the users can edit -CP_FILES="$(ls /etc/$JRD/plugins/*.json)" -for cpfile in $CP_FILES; do - FILE_NAME="$(basename -- $cpfile)" - if [ ! -e "$PLUGIN_HOME/$FILE_NAME" ] - then - cp $cpfile $PLUGIN_HOME - else - warning "Configuration files were not copied for $FILE_NAME - the existing configuration would be overwritten." - fi -done +if [ ! -e "$PLUGIN_HOME_LEGACY" -a -e "$PLUGIN_HOME" ] ; then + mv "$PLUGIN_HOME" "$PLUGIN_HOME_LEGACY" + echo "jrd no longer handles custom plugins for you. Your's " + echo "$PLUGIN_HOME was moved to $PLUGIN_HOME_LEGACY" + echo "You can play with custom plugins in $PLUGIN_HOME" + echo "but keep $PLUGIN_HOME_LEGACY created, so it is not renamed again" +fi +mkdir -p $PLUGIN_HOME_LEGACY + +warning "jrd no longer handles custom plugins for you. Your's " +warning echo "$PLUGIN_HOME was moved to $PLUGIN_HOME_LEGACY" +warning "You can play with custom plugins in $PLUGIN_HOME" +warning "but keep $PLUGIN_HOME_LEGACY created, so it is not renamed again" # create config file and add agent default path touch $CONFIG_FILE @@ -92,4 +89,4 @@ else fi export FLAGS="$FLAGS -Djdk.attach.allowAttachSelf=true --add-exports jdk.jdeps/com.sun.tools.javap=ALL-UNNAMED" # jdk11+ do not allow attach by default; jdk17 is hiding javap api -run "$@" +run "$@" diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 373f868..80d8259 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -5,8 +5,9 @@ Release: 1%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz -Source1: java-runtime-decompiler +Source1: %{name} Source3: jrd.desktop +Source4: jrd-hex.desktop Patch1: systemFernflower.patch Patch2: systemProcyon.patch Patch21: systemProcyonAssembler.patch @@ -41,20 +42,23 @@ BuildRequires: java-devel BuildRequires: google-gson BuildRequires: desktop-file-utils BuildRequires: classpathless-compiler +Requires: google-gson +Requires: byteman +Requires: rsyntaxtextarea Requires: java-headless -Recommends: java Requires: classpathless-compiler Requires: java-diff-utils -Recommends: fernflower -Recommends: procyon-decompiler >= 0.6 -Recommends: CFR -Recommends: openjdk-asmtools >= 8.0 -Recommends: openjdk-asmtools7 +Recommends: java +Recommends: %{name}-fernflower-plugin +Recommends: %{name}-procyon-plugin +Recommends: %{name}-cfr-plugin +Recommends: %{name}-asmtools-plugin +Recommends: %{name}-asmtools7-plugin %description -This application can access JVM memory at runtime, -extract byte code from the JVM and decompile it. -In addition, it can modify the obtained code and comple it back +This application can access JVM at runtime, +extract byte code from the JVM and decompile it, modify the obtained code and compile it back. +It also works with local classpath and source path and provide standalone hex, with binary diff. %package javadoc Summary: Javadoc for %{name} @@ -63,6 +67,46 @@ Requires: %{name} = %{version}-%{release} %description javadoc This package contains the API documentation for %{name}. +%package fernflower-plugin +Requires: fernflower +Summary: fernflower decompiler plugin for %{name} +Requires: %{name} = %{version}-%{release} + +%description fernflower-plugin +This package provides bindings and requirements to fernflower decompiler for %{name}. + +%package procyon-plugin +Requires: procyon-decompiler >= 0.6 +Summary: procyon decompiler plugin for %{name} +Requires: %{name} = %{version}-%{release} + +%description procyon-plugin +This package provides bindings and requirements to procyon decompiler for %{name}. + +%package cfr-plugin +Requires: CFR +Summary: CFR decompiler plugin for %{name} +Requires: %{name} = %{version}-%{release} + +%description cfr-plugin +This package provides bindings and requirements to CFR decompiler for %{name}. + +%package asmtools-plugin +Requires: openjdk-asmtools >= 8.0 +Summary: asmtools disassembler and assembler plugin for %{name} +Requires: %{name} = %{version}-%{release} + +%description asmtools-plugin +This package provides bindings and requirements to asmtools disassembler and assembler for %{name}. + +%package asmtools7-plugin +Requires: openjdk-asmtools7 +Summary: asmtools7 disassembler and assembler plugin for %{name} +Requires: %{name} = %{version}-%{release} + +%description asmtools7-plugin +This package provides bindings and requirements to asmtools7 disassembler and assembler for %{name}. + %prep %setup -q -n %{name}-%{name}-%{version} %patch1 -p0 @@ -105,66 +149,96 @@ java -cp $CPLC/classpathless-compiler.jar:$CPLC/classpathless-compiler-api.jar:$ %mvn_install install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1/ install -m 644 %{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +pushd $RPM_BUILD_ROOT%{_mandir}/man1/ + ln -s %{name}.1 jrd.1 + ln -s %{name}.1 %{name}-hex.1 + ln -s %{name}.1 jrd-hex.1 +popd install -d -m 755 $RPM_BUILD_ROOT%{_bindir} install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/ install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/ +pushd $RPM_BUILD_ROOT%{_bindir} + cp %{name} %{name}-hex + sed 's/^run .*/run -hex "$@"/' -i %{name}-hex + ln -s %{name} jrd + ln -s %{name}-hex jrd-hex +popd + cp -r %{_builddir}/%{name}-%{name}-%{version}/runtime-decompiler/src/plugins/ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/ install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/applications -desktop-file-install --vendor="fedora" \ ---dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE3} +desktop-file-install --vendor="fedora" --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE3} +desktop-file-install --vendor="fedora" --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE4} #jd is not yet packed and sucks anyway rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.java rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json - %files -f .mfiles %attr(755, root, -) %{_bindir}/java-runtime-decompiler -%{_mandir}/man1/java-runtime-decompiler.1* +%attr(755, root, -) %{_bindir}/java-runtime-decompiler-hex +%{_bindir}/jrd +%{_bindir}/jrd-hex +%{_mandir}/man1/java-runtime-decompiler*.1* +%{_mandir}/man1/jrd*.1* # wrappers for decompilers %dir %{_sysconfdir}/%{name} %dir %{_sysconfdir}/%{name}/plugins +%dir %{_datadir}/applications +%{_datadir}/applications/fedora-jrd.desktop +%{_datadir}/applications/fedora-jrd-hex.desktop + +%files fernflower-plugin %config %{_sysconfdir}/%{name}/plugins/FernflowerDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/FernflowerDecompilerWrapper.json + +%files procyon-plugin %config %{_sysconfdir}/%{name}/plugins/ProcyonDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/ProcyonDecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/ProcyonAssemblerDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/ProcyonAssemblerDecompilerWrapper.json + +%files cfr-plugin %config %{_sysconfdir}/%{name}/plugins/CfrDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/CfrDecompilerWrapper.json + +%files asmtools-plugin %config %{_sysconfdir}/%{name}/plugins/JasmDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/JasmDecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/JasmGDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/JasmGDecompilerWrapper.json -%config %{_sysconfdir}/%{name}/plugins/Jasm7DecompilerWrapper.java -%config(noreplace) %{_sysconfdir}/%{name}/plugins/Jasm7DecompilerWrapper.json -%config %{_sysconfdir}/%{name}/plugins/JasmG7DecompilerWrapper.java -%config(noreplace) %{_sysconfdir}/%{name}/plugins/JasmG7DecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/JcoderDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/JcoderDecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/JcoderGDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/JcoderGDecompilerWrapper.json + +%files asmtools7-plugin +%config %{_sysconfdir}/%{name}/plugins/Jasm7DecompilerWrapper.java +%config(noreplace) %{_sysconfdir}/%{name}/plugins/Jasm7DecompilerWrapper.json +%config %{_sysconfdir}/%{name}/plugins/JasmG7DecompilerWrapper.java +%config(noreplace) %{_sysconfdir}/%{name}/plugins/JasmG7DecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/Jcoder7DecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/Jcoder7DecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/JcoderG7DecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/JcoderG7DecompilerWrapper.json %license LICENSE -%dir %{_datadir}/applications -%{_datadir}/applications/fedora-jrd.desktop - %files javadoc -f .mfiles-javadoc %license LICENSE %changelog * Wed Mar 15 2023 Fedora Release Engineering - 7.1-1 - moved to jrd 7.1 -- todo: new launchers, new classpath (diff, cplc api...) -- verify current wrappers -- fixed procyon wrapper -- removed jd wrapper (was new in 7.1) +- todo verify current wrappers +- added desp on java-diff and new cplc +- fixed(?) procyon wrapper + - todo procyon crashes witout trace + - todo asmtools8 pacekd in old version +- removed jd wrapper (was new in 7.1, maybe will be added) +- split plugins to subpkgs +- added jrd-hex launcher +- added hex launcher, added jrd symlinks * Thu Jul 21 2022 Fedora Release Engineering - 6.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/jrd-hex.desktop b/jrd-hex.desktop new file mode 100644 index 0000000..a0db405 --- /dev/null +++ b/jrd-hex.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Categories=Development;Profiling;Java; +Version=1.0 +Name=Java Runtime Decompiler Hex editor +Exec=java-runtime-decompiler-hex +Terminal=false +Name[en_US]=jrd-hex.desktop diff --git a/jrd.desktop b/jrd.desktop index eb2d468..70a9f2b 100644 --- a/jrd.desktop +++ b/jrd.desktop @@ -6,3 +6,4 @@ Version=1.0 Name=Java Runtime Decompiler Exec=java-runtime-decompiler Terminal=false +Name[en_US]=jrd.desktop From 66d3261592a586e9979d346cf36e0b00341d98a5 Mon Sep 17 00:00:00 2001 From: Jiri Date: Sat, 18 Mar 2023 12:02:47 +0100 Subject: [PATCH 09/40] Sealed asm8 minimal version --- java-runtime-decompiler.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 80d8259..0c991e4 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -92,7 +92,7 @@ Requires: %{name} = %{version}-%{release} This package provides bindings and requirements to CFR decompiler for %{name}. %package asmtools-plugin -Requires: openjdk-asmtools >= 8.0 +Requires: openjdk-asmtools >= 8.0.b02.ea-0.3.20230113 Summary: asmtools disassembler and assembler plugin for %{name} Requires: %{name} = %{version}-%{release} @@ -230,11 +230,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %changelog * Wed Mar 15 2023 Fedora Release Engineering - 7.1-1 - moved to jrd 7.1 -- todo verify current wrappers - added desp on java-diff and new cplc - fixed(?) procyon wrapper - todo procyon crashes witout trace - - todo asmtools8 pacekd in old version - removed jd wrapper (was new in 7.1, maybe will be added) - split plugins to subpkgs - added jrd-hex launcher From 4a89a2508d03f81dae2520b36267c4d54c3622e2 Mon Sep 17 00:00:00 2001 From: Jiri Date: Sat, 18 Mar 2023 12:19:23 +0100 Subject: [PATCH 10/40] Partial fix to make procyon help work --- java-runtime-decompiler | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-runtime-decompiler b/java-runtime-decompiler index 331de22..df6ccc7 100644 --- a/java-runtime-decompiler +++ b/java-runtime-decompiler @@ -88,5 +88,5 @@ else echo "Agent was not found and agent path was not set correctly. This has to be done manually in the decompiler GUI, or set AGENT_PATH===path_to_agent_jar in the configuration file: $CONFIG_FILE" >&2 fi -export FLAGS="$FLAGS -Djdk.attach.allowAttachSelf=true --add-exports jdk.jdeps/com.sun.tools.javap=ALL-UNNAMED" # jdk11+ do not allow attach by default; jdk17 is hiding javap api +export FLAGS="$FLAGS -Djdk.attach.allowAttachSelf=true --add-exports jdk.jdeps/com.sun.tools.javap=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED" # jdk11+ do not allow attach by default; jdk17 is hiding javap api run "$@" From 1602f58d32e69e08f4ed95ff4a5804982d90974a Mon Sep 17 00:00:00 2001 From: Jiri Date: Sat, 18 Mar 2023 20:51:35 +0100 Subject: [PATCH 11/40] Bumped to 7.2; todo, fix procyon patches --- .gitignore | 1 + java-runtime-decompiler.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 741bd3d..5d8e47b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /java-runtime-decompiler-6.0.0.pre.3.tar.gz /java-runtime-decompiler-6.1.tar.gz /java-runtime-decompiler-7.1.tar.gz +/java-runtime-decompiler-7.2.tar.gz diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 0c991e4..ce97784 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,6 +1,6 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler -Version: 7.1 +Version: 7.2 Release: 1%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler diff --git a/sources b/sources index 2d86801..4e51993 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (java-runtime-decompiler-7.1.tar.gz) = 09f76e0f82823089ce122a02b66664535afba3a5bbd30a48f2cf1ba505647d75ba67b2c361eadd084d025ff77298f6973c9eaaef970ff5a83d69573c3ab5fd7b +SHA512 (java-runtime-decompiler-7.2.tar.gz) = 21940dd0d4acba89b0e42c3588b0c6813247c71271347a556093196f2ffa8d0da6177c7db629e5f0792c5b9bdcc768ff5dfd21f6aaf1d93151c10cdfd29e0247 From a3812684cc25e9aaad656395017ab0d790304319 Mon Sep 17 00:00:00 2001 From: Jiri Date: Sat, 18 Mar 2023 20:59:11 +0100 Subject: [PATCH 12/40] Adapted procyon patches --- systemProcyon.patch | 8 +++++--- systemProcyonAssembler.patch | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/systemProcyon.patch b/systemProcyon.patch index 35e93a2..4886e80 100644 --- a/systemProcyon.patch +++ b/systemProcyon.patch @@ -1,16 +1,18 @@ --- runtime-decompiler/src/plugins/ProcyonDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 +++ runtime-decompiler/src/plugins/ProcyonDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 -@@ -2,9 +2,9 @@ +@@ -2,10 +2,10 @@ "Name": "Procyon", - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/ProcyonDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/ProcyonDecompilerWrapper.java", "DependencyURL": [ - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-core/1.0-SNAPSHOT/procyon-core-1.0-SNAPSHOT.jar", - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-compilertools/1.0-SNAPSHOT/procyon-compilertools-1.0-SNAPSHOT.jar", -- "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-decompiler/1.0-SNAPSHOT/procyon-decompiler-1.0-SNAPSHOT.jar" +- "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-decompiler/1.0-SNAPSHOT/procyon-decompiler-1.0-SNAPSHOT.jar", +- "file://${HOME}/.m2/repository/com/beust/jcommander/1.78/jcommander-1.78.jar" + "/usr/share/java/procyon/procyon-core.jar", + "/usr/share/java/procyon/procyon-compilertools.jar", -+ "/usr/share/java/procyon/procyon-decompiler.jar" ++ "/usr/share/java/procyon/procyon-decompiler.jar", ++ "/usr/share/java/beust-jcommander.jar" ], "DecompilerDownloadURL": "https://github.com/mstrobel/procyon/git " } diff --git a/systemProcyonAssembler.patch b/systemProcyonAssembler.patch index e53372b..d385b99 100644 --- a/systemProcyonAssembler.patch +++ b/systemProcyonAssembler.patch @@ -1,16 +1,18 @@ --- runtime-decompiler/src/plugins/ProcyonAssemblerDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 +++ runtime-decompiler/src/plugins/ProcyonAssemblerDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 -@@ -2,9 +2,9 @@ +@@ -2,10 +2,10 @@ "Name": "Procyon-Assembler", - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/ProcyonAssemblerDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/ProcyonAssemblerDecompilerWrapper.java", "DependencyURL": [ - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-core/1.0-SNAPSHOT/procyon-core-1.0-SNAPSHOT.jar", - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-compilertools/1.0-SNAPSHOT/procyon-compilertools-1.0-SNAPSHOT.jar", -- "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-decompiler/1.0-SNAPSHOT/procyon-decompiler-1.0-SNAPSHOT.jar" +- "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-decompiler/1.0-SNAPSHOT/procyon-decompiler-1.0-SNAPSHOT.jar", +- "file://${HOME}/.m2/repository/com/beust/jcommander/1.78/jcommander-1.78.jar" + "/usr/share/java/procyon/procyon-core.jar", + "/usr/share/java/procyon/procyon-compilertools.jar", -+ "/usr/share/java/procyon/procyon-decompiler.jar" ++ "/usr/share/java/procyon/procyon-decompiler.jar", ++ "/usr/share/java/beust-jcommander.jar" ], "DecompilerDownloadURL": "https://github.com/mstrobel/procyon/git " } From 54fcf013ab0a751b78fc3be8846a52c66d52749a Mon Sep 17 00:00:00 2001 From: Jiri Date: Fri, 30 Jun 2023 16:05:55 +0200 Subject: [PATCH 13/40] moved to 7.3 - https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.3 - https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.2 - https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.1 --- .gitignore | 1 + java-runtime-decompiler.spec | 8 +++++++- sources | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5d8e47b..5c6e117 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /java-runtime-decompiler-6.1.tar.gz /java-runtime-decompiler-7.1.tar.gz /java-runtime-decompiler-7.2.tar.gz +/java-runtime-decompiler-7.3.tar.gz diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index ce97784..b671dd4 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,6 +1,6 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler -Version: 7.2 +Version: 7.3 Release: 1%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler @@ -228,7 +228,13 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Fri Jun 30 2023 Fedora Release Engineering - 7.3-1 +- moved to 7.3 +- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.3 +- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.2 + * Wed Mar 15 2023 Fedora Release Engineering - 7.1-1 +- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.1 - moved to jrd 7.1 - added desp on java-diff and new cplc - fixed(?) procyon wrapper diff --git a/sources b/sources index 4e51993..2e91c7f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (java-runtime-decompiler-7.2.tar.gz) = 21940dd0d4acba89b0e42c3588b0c6813247c71271347a556093196f2ffa8d0da6177c7db629e5f0792c5b9bdcc768ff5dfd21f6aaf1d93151c10cdfd29e0247 +SHA512 (java-runtime-decompiler-7.3.tar.gz) = dc45ee8fa53d3f3f6479f9d2d8978a714731d1cb333fe4e15321564bc049d6cde90e2e618d304df24bbcb6dec23cca6cb5373e867c8ec45212746b344e65a1e2 From 98f8cad7ba2e38508d487e397fc9072006b763ee Mon Sep 17 00:00:00 2001 From: Jiri Date: Tue, 11 Jul 2023 10:24:31 +0200 Subject: [PATCH 14/40] added 2b99a244b592445962cdd15ca33f80449f9aa2ea.patch to fix compiler issue in jrd window --- ...a244b592445962cdd15ca33f80449f9aa2ea.patch | 60 +++++++++++++++++++ java-runtime-decompiler.spec | 7 ++- 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 2b99a244b592445962cdd15ca33f80449f9aa2ea.patch diff --git a/2b99a244b592445962cdd15ca33f80449f9aa2ea.patch b/2b99a244b592445962cdd15ca33f80449f9aa2ea.patch new file mode 100644 index 0000000..1b258f8 --- /dev/null +++ b/2b99a244b592445962cdd15ca33f80449f9aa2ea.patch @@ -0,0 +1,60 @@ +commit 2b99a244b592445962cdd15ca33f80449f9aa2ea +Author: Jiri +Date: Tue Jul 11 10:16:41 2023 +0200 + + isTreatAllTabsAsOneBatch returns false in jrd mode and is not shown + +diff --git a/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java b/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java +index 3e87e6d..a8db71a 100644 +--- a/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java ++++ b/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java +@@ -574,18 +574,20 @@ public class TextWithControls extends JPanel + } + }); + advanced.add(setMethod); +- JCheckBox treatAllAsOne = new JCheckBox("Treat all tabs in this window as single batch"); +- Container parent = getParentWindow(); +- if (parent != null) { +- treatAllAsOne.addActionListener(new ActionListener() { +- @Override +- public void actionPerformed(ActionEvent actionEvent) { +- setTreatAllTabsAsOneBatch(treatAllAsOne.isSelected()); +- repaintMenu(menu); +- } +- }); +- treatAllAsOne.setSelected(isTreatAllTabsAsOneBatch()); +- advanced.add(treatAllAsOne); ++ if (getParentWindow()!=null) { ++ JCheckBox treatAllAsOne = new JCheckBox("Treat all tabs in this window as single batch"); ++ Container parent = getParentWindow(); ++ if (parent != null) { ++ treatAllAsOne.addActionListener(new ActionListener() { ++ @Override ++ public void actionPerformed(ActionEvent actionEvent) { ++ setTreatAllTabsAsOneBatch(treatAllAsOne.isSelected()); ++ repaintMenu(menu); ++ } ++ }); ++ treatAllAsOne.setSelected(isTreatAllTabsAsOneBatch()); ++ advanced.add(treatAllAsOne); ++ } + } + if (hasVm(classesAndMethodsProvider)) { + JCheckBox addToBoot = new JCheckBox( +@@ -908,10 +910,16 @@ public class TextWithControls extends JPanel + } + + private void setTreatAllTabsAsOneBatch(boolean selected) { ++ if (getParentWindow() == null) { ++ return ; ++ } + getParentWindow().setTreatAllTabsAsOneBatch(selected); + } + + private boolean isTreatAllTabsAsOneBatch() { ++ if (getParentWindow() == null) { ++ return false; ++ } + return getParentWindow().isTreatAllTabsAsOneBatch(); + } + diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index b671dd4..2510c3f 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 7.3 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz @@ -22,6 +22,7 @@ Patch61: systemJcoder7.patch Patch62: systemJcoderG.patch Patch63: systemJcoderG7.patch Patch7: removeMultilineSpotbugs.patch +Patch8: 2b99a244b592445962cdd15ca33f80449f9aa2ea.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch @@ -123,6 +124,7 @@ This package provides bindings and requirements to asmtools7 disassembler and as %patch62 -p0 %patch63 -p0 %patch7 -p1 +%patch8 -p1 %build pushd runtime-decompiler @@ -228,6 +230,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Tue Jul 11 2023 Fedora Release Engineering - 7.3-2 +- added 2b99a244b592445962cdd15ca33f80449f9aa2ea.patch to fix compiler issue in jrd window + * Fri Jun 30 2023 Fedora Release Engineering - 7.3-1 - moved to 7.3 - https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.3 From 051828906c6c920d39338ade794c2ca4807c83cf Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Wed, 12 Jul 2023 17:00:30 +0200 Subject: [PATCH 15/40] Being explicit on what jdk to use for man pages generation --- java-runtime-decompiler.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 2510c3f..d88907d 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -145,7 +145,7 @@ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk #why? xmvn --version %mvn_build -f --xmvn-javadoc -- -Plegacy CPLC=/usr/share/java/classpathless-compiler -java -cp $CPLC/classpathless-compiler.jar:$CPLC/classpathless-compiler-api.jar:$CPLC/classpathless-compiler-util.jar:runtime-decompiler/target/runtime-decompiler-%{version}.jar org.jrd.backend.data.cli.Help > %{name}.1 +$JAVA_HOME/bin/java -cp $CPLC/classpathless-compiler.jar:$CPLC/classpathless-compiler-api.jar:$CPLC/classpathless-compiler-util.jar:runtime-decompiler/target/runtime-decompiler-%{version}.jar org.jrd.backend.data.cli.Help > %{name}.1 %install %mvn_install From 4e4ea6b124d33d580a32d06578883e2005e3f4ed Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 07:54:32 +0000 Subject: [PATCH 16/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- java-runtime-decompiler.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index d88907d..4ec9aaa 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 7.3 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz @@ -230,6 +230,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Thu Jul 20 2023 Fedora Release Engineering - 7.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Jul 11 2023 Fedora Release Engineering - 7.3-2 - added 2b99a244b592445962cdd15ca33f80449f9aa2ea.patch to fix compiler issue in jrd window From c2700e87eb8f3043b972b83e7382523fccd6a43f Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Fri, 13 Oct 2023 18:22:04 +0200 Subject: [PATCH 17/40] update dto 8.0 - https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-8.0 --- .gitignore | 1 + ...a244b592445962cdd15ca33f80449f9aa2ea.patch | 60 ------------------- java-runtime-decompiler.spec | 12 ++-- sources | 2 +- systemJasm.patch | 2 +- systemJasmG.patch | 2 +- systemJcoder.patch | 2 +- systemJcoderG.patch | 2 +- 8 files changed, 13 insertions(+), 70 deletions(-) delete mode 100644 2b99a244b592445962cdd15ca33f80449f9aa2ea.patch diff --git a/.gitignore b/.gitignore index 5c6e117..60c8c51 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /java-runtime-decompiler-7.1.tar.gz /java-runtime-decompiler-7.2.tar.gz /java-runtime-decompiler-7.3.tar.gz +/java-runtime-decompiler-8.0.tar.gz diff --git a/2b99a244b592445962cdd15ca33f80449f9aa2ea.patch b/2b99a244b592445962cdd15ca33f80449f9aa2ea.patch deleted file mode 100644 index 1b258f8..0000000 --- a/2b99a244b592445962cdd15ca33f80449f9aa2ea.patch +++ /dev/null @@ -1,60 +0,0 @@ -commit 2b99a244b592445962cdd15ca33f80449f9aa2ea -Author: Jiri -Date: Tue Jul 11 10:16:41 2023 +0200 - - isTreatAllTabsAsOneBatch returns false in jrd mode and is not shown - -diff --git a/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java b/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java -index 3e87e6d..a8db71a 100644 ---- a/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java -+++ b/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java -@@ -574,18 +574,20 @@ public class TextWithControls extends JPanel - } - }); - advanced.add(setMethod); -- JCheckBox treatAllAsOne = new JCheckBox("Treat all tabs in this window as single batch"); -- Container parent = getParentWindow(); -- if (parent != null) { -- treatAllAsOne.addActionListener(new ActionListener() { -- @Override -- public void actionPerformed(ActionEvent actionEvent) { -- setTreatAllTabsAsOneBatch(treatAllAsOne.isSelected()); -- repaintMenu(menu); -- } -- }); -- treatAllAsOne.setSelected(isTreatAllTabsAsOneBatch()); -- advanced.add(treatAllAsOne); -+ if (getParentWindow()!=null) { -+ JCheckBox treatAllAsOne = new JCheckBox("Treat all tabs in this window as single batch"); -+ Container parent = getParentWindow(); -+ if (parent != null) { -+ treatAllAsOne.addActionListener(new ActionListener() { -+ @Override -+ public void actionPerformed(ActionEvent actionEvent) { -+ setTreatAllTabsAsOneBatch(treatAllAsOne.isSelected()); -+ repaintMenu(menu); -+ } -+ }); -+ treatAllAsOne.setSelected(isTreatAllTabsAsOneBatch()); -+ advanced.add(treatAllAsOne); -+ } - } - if (hasVm(classesAndMethodsProvider)) { - JCheckBox addToBoot = new JCheckBox( -@@ -908,10 +910,16 @@ public class TextWithControls extends JPanel - } - - private void setTreatAllTabsAsOneBatch(boolean selected) { -+ if (getParentWindow() == null) { -+ return ; -+ } - getParentWindow().setTreatAllTabsAsOneBatch(selected); - } - - private boolean isTreatAllTabsAsOneBatch() { -+ if (getParentWindow() == null) { -+ return false; -+ } - return getParentWindow().isTreatAllTabsAsOneBatch(); - } - diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 4ec9aaa..3e3ddc6 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler -Version: 7.3 -Release: 3%{?dist} +Version: 8.0 +Release: 1%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz @@ -22,7 +22,6 @@ Patch61: systemJcoder7.patch Patch62: systemJcoderG.patch Patch63: systemJcoderG7.patch Patch7: removeMultilineSpotbugs.patch -Patch8: 2b99a244b592445962cdd15ca33f80449f9aa2ea.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch @@ -93,7 +92,7 @@ Requires: %{name} = %{version}-%{release} This package provides bindings and requirements to CFR decompiler for %{name}. %package asmtools-plugin -Requires: openjdk-asmtools >= 8.0.b02.ea-0.3.20230113 +Requires: openjdk-asmtools >= 8.0.b09 Summary: asmtools disassembler and assembler plugin for %{name} Requires: %{name} = %{version}-%{release} @@ -124,7 +123,6 @@ This package provides bindings and requirements to asmtools7 disassembler and as %patch62 -p0 %patch63 -p0 %patch7 -p1 -%patch8 -p1 %build pushd runtime-decompiler @@ -230,6 +228,10 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Fri Oct 13 2023 Fedora Release Engineering - 8.0-1 +- update dto 8.0 +- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-8.0 + * Thu Jul 20 2023 Fedora Release Engineering - 7.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index 2e91c7f..4ae273d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (java-runtime-decompiler-7.3.tar.gz) = dc45ee8fa53d3f3f6479f9d2d8978a714731d1cb333fe4e15321564bc049d6cde90e2e618d304df24bbcb6dec23cca6cb5373e867c8ec45212746b344e65a1e2 +SHA512 (java-runtime-decompiler-8.0.tar.gz) = 0cc785efe5d678a4882ede71639c15d0d8c5496eab13fb6079b0030b1dca0c3b272401bddabd470a9830037d9978cecd46bc431b172f89bc32ec877e416e23d0 diff --git a/systemJasm.patch b/systemJasm.patch index eff068f..dc2991d 100644 --- a/systemJasm.patch +++ b/systemJasm.patch @@ -6,7 +6,7 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JasmDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JasmDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b02-ea/asmtools-8.0.b02-ea.jar" +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b09-ea/asmtools-8.0.b09-ea.jar" + "file:/usr/share/java/openjdk-asmtools/asmtools.jar" ], "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" diff --git a/systemJasmG.patch b/systemJasmG.patch index 0171e99..81b6665 100644 --- a/systemJasmG.patch +++ b/systemJasmG.patch @@ -6,7 +6,7 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JasmGDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JasmGDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b02-ea/asmtools-8.0.b02-ea.jar" +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b09-ea/asmtools-8.0.b09-ea.jar" + "file:/usr/share/java/openjdk-asmtools/asmtools.jar" ], "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" diff --git a/systemJcoder.patch b/systemJcoder.patch index cf6ce68..bd2690a 100644 --- a/systemJcoder.patch +++ b/systemJcoder.patch @@ -6,7 +6,7 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JcoderDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JcoderDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b02-ea/asmtools-8.0.b02-ea.jar" +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b09-ea/asmtools-8.0.b09-ea.jar" + "file:/usr/share/java/openjdk-asmtools/asmtools.jar" ], "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" diff --git a/systemJcoderG.patch b/systemJcoderG.patch index 85d8a63..4e07a9c 100644 --- a/systemJcoderG.patch +++ b/systemJcoderG.patch @@ -6,7 +6,7 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JcoderGDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JcoderGDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b02-ea/asmtools-8.0.b02-ea.jar" +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b09-ea/asmtools-8.0.b09-ea.jar" + "file:/usr/share/java/openjdk-asmtools/asmtools.jar" ], "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" From f800c363cb22595d8e05f25db56de0e2e549f228 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Wed, 3 Jan 2024 16:52:02 +0100 Subject: [PATCH 18/40] Bumped to 9.1 --- .gitignore | 1 + java-runtime-decompiler.spec | 9 +++++++-- sources | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 60c8c51..c37ccde 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /java-runtime-decompiler-7.2.tar.gz /java-runtime-decompiler-7.3.tar.gz /java-runtime-decompiler-8.0.tar.gz +/java-runtime-decompiler-9.1.tar.gz diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 3e3ddc6..225a850 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,10 +1,10 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler -Version: 8.0 +Version: 9.1 Release: 1%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler -Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz +Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz Source1: %{name} Source3: jrd.desktop Source4: jrd-hex.desktop @@ -228,6 +228,11 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Wed Jan 03 2024 Fedora Release Engineering - 9.1-1 +- update dto 9.1 +- https://github.com/judovana/java-runtime-decompiler/releases/tag/java-runtime-decompiler-9.1 +- https://github.com/judovana/java-runtime-decompiler/releases/tag/java-runtime-decompiler-9.0 + * Fri Oct 13 2023 Fedora Release Engineering - 8.0-1 - update dto 8.0 - https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-8.0 diff --git a/sources b/sources index 4ae273d..639b6d5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (java-runtime-decompiler-8.0.tar.gz) = 0cc785efe5d678a4882ede71639c15d0d8c5496eab13fb6079b0030b1dca0c3b272401bddabd470a9830037d9978cecd46bc431b172f89bc32ec877e416e23d0 +SHA512 (java-runtime-decompiler-9.1.tar.gz) = 9373d08d9482614561726ab82b3f116136c79bf9758950276cf3043c6443425c17b43699d19cd33eb0761e3819795249a304135d64185989dcc1eeb59a9c671d From 76057b3e1d9b6d01d5b43982f89bdc466089b1b7 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Wed, 3 Jan 2024 17:12:35 +0100 Subject: [PATCH 19/40] Updated spotbugs patch --- removeMultilineSpotbugs.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/removeMultilineSpotbugs.patch b/removeMultilineSpotbugs.patch index e612855..f8ddbb9 100644 --- a/removeMultilineSpotbugs.patch +++ b/removeMultilineSpotbugs.patch @@ -49,4 +49,17 @@ /** * Warning, possibly unused, rotten code. */ +--- a/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java ++++ a/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java +@@ -103,10 +103,6 @@ + //currently standalone dialog supports only additions + //and additions do not support classlaoder selection (obviously) + //the classlaoder now remain thus unused +- @SuppressFBWarnings( +- value = "SS_SHOULD_BE_STATIC", +- justification = "is really per instance, however will ahve sense, only if standalone dialog will support overwrite, which is unlikely" +- ) + private final boolean overvriteEnabled = false; + //field to hots the target classlaoder if it willbe ever supported + //it is now null, what is waht the only ussage in compiler.compile(toCompile, pluginManager, classloader); needs From c7308a84590d3370818683ba66f91f0b83fb7800 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jan 2024 23:31:38 +0000 Subject: [PATCH 20/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- java-runtime-decompiler.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 225a850..4a2770b 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 9.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz @@ -228,6 +228,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Sat Jan 20 2024 Fedora Release Engineering - 9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Wed Jan 03 2024 Fedora Release Engineering - 9.1-1 - update dto 9.1 - https://github.com/judovana/java-runtime-decompiler/releases/tag/java-runtime-decompiler-9.1 From fb1a3765b7e164c5652f122b2000f63550cdc2c4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 23:11:28 +0000 Subject: [PATCH 21/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- java-runtime-decompiler.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 4a2770b..b8e784e 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 9.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz @@ -228,6 +228,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sat Jan 20 2024 Fedora Release Engineering - 9.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 7e758a0b3fb18aa54b792e03065b9584975c89c1 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Tue, 27 Feb 2024 16:11:55 +0100 Subject: [PATCH 22/40] Rebuilt for java-21-openjdk as system jdk https://fedoraproject.org/wiki/Changes/Java21 --- java-runtime-decompiler.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index b8e784e..2665e28 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 9.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz @@ -228,6 +228,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Tue Feb 27 2024 Jiri Vanek - 9.1-4 +- Rebuilt for java-21-openjdk as system jdk + * Wed Jan 24 2024 Fedora Release Engineering - 9.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 91124edcd32f9d1dcc3f57388b6de2ac89f4c826 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Wed, 28 Feb 2024 17:05:23 +0100 Subject: [PATCH 23/40] adjsuted the unhappy man ual java_home --- java-runtime-decompiler.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 2665e28..a5f6061 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 9.1 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz @@ -139,7 +139,7 @@ for x in $a ; do done xmvn --version echo $JAVA_HOME -export JAVA_HOME=/usr/lib/jvm/java-17-openjdk #why? +export JAVA_HOME=/usr/lib/jvm/java-21-openjdk #why? xmvn --version %mvn_build -f --xmvn-javadoc -- -Plegacy CPLC=/usr/share/java/classpathless-compiler @@ -228,8 +228,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog -* Tue Feb 27 2024 Jiri Vanek - 9.1-4 +* Tue Feb 27 2024 Jiri Vanek - 9.1-5 - Rebuilt for java-21-openjdk as system jdk +- adjsuted the unhappy man ual java_home * Wed Jan 24 2024 Fedora Release Engineering - 9.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From a185174e7d3ccba414cd7427d8f9cb786a27a6cb Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Wed, 22 May 2024 16:12:52 +0200 Subject: [PATCH 24/40] Add Requires on javapackages-tools --- java-runtime-decompiler.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index a5f6061..cb8f8c8 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 9.1 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz @@ -45,7 +45,7 @@ BuildRequires: classpathless-compiler Requires: google-gson Requires: byteman Requires: rsyntaxtextarea -Requires: java-headless +Requires: javapackages-tools Requires: classpathless-compiler Requires: java-diff-utils Recommends: java @@ -228,6 +228,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Wed May 22 2024 Marian Koncek - 9.1-6 +- Add Requires on javapackages-tools + * Tue Feb 27 2024 Jiri Vanek - 9.1-5 - Rebuilt for java-21-openjdk as system jdk - adjsuted the unhappy man ual java_home From e2ade0a80c11dadccb7ae4b2e958576bc7357f95 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Wed, 22 May 2024 16:13:19 +0200 Subject: [PATCH 25/40] Use modern %patch --- java-runtime-decompiler.spec | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index cb8f8c8..efe47da 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -109,20 +109,20 @@ This package provides bindings and requirements to asmtools7 disassembler and as %prep %setup -q -n %{name}-%{name}-%{version} -%patch1 -p0 -%patch2 -p0 -%patch21 -p0 -%patch3 -p0 -%patch4 -p0 -%patch5 -p0 -%patch51 -p0 -%patch52 -p0 -%patch53 -p0 -%patch6 -p0 -%patch61 -p0 -%patch62 -p0 -%patch63 -p0 -%patch7 -p1 +%patch 1 -p0 +%patch 2 -p0 +%patch 21 -p0 +%patch 3 -p0 +%patch 4 -p0 +%patch 5 -p0 +%patch 51 -p0 +%patch 52 -p0 +%patch 53 -p0 +%patch 6 -p0 +%patch 61 -p0 +%patch 62 -p0 +%patch 63 -p0 +%patch 7 -p1 %build pushd runtime-decompiler From 727ea4320b35652861b4eb95a41781aa42a6c58a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 10:51:59 +0000 Subject: [PATCH 26/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- java-runtime-decompiler.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index efe47da..7d8afa4 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 9.1 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz @@ -228,6 +228,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Thu Jul 18 2024 Fedora Release Engineering - 9.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed May 22 2024 Marian Koncek - 9.1-6 - Add Requires on javapackages-tools From 3615ff4b1da4323cac02dd912815da90e34d56f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Mon, 29 Jul 2024 14:06:46 +0200 Subject: [PATCH 27/40] convert GPLv3 license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- java-runtime-decompiler.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 7d8afa4..355a415 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,8 +1,9 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 9.1 -Release: 7%{?dist} -License: GPLv3 +Release: 8%{?dist} +# Automatically converted from old format: GPLv3 - review is highly recommended. +License: GPL-3.0-only URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz Source1: %{name} @@ -228,6 +229,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog +* Mon Jul 29 2024 Miroslav Suchý - 9.1-8 +- convert license to SPDX + * Thu Jul 18 2024 Fedora Release Engineering - 9.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 8cffe2fa212881a2936ac2cdf01b9a5b18f472b1 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Thu, 19 Sep 2024 14:13:00 +0200 Subject: [PATCH 28/40] Use %autorelease and %autochangelog --- changelog | 148 ++++++++++++++++++++++++++++++++++ java-runtime-decompiler.spec | 151 +---------------------------------- 2 files changed, 150 insertions(+), 149 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..c8aaa6a --- /dev/null +++ b/changelog @@ -0,0 +1,148 @@ +* Mon Jul 29 2024 Miroslav Suchý - 9.1-8 +- convert license to SPDX + +* Thu Jul 18 2024 Fedora Release Engineering - 9.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed May 22 2024 Marian Koncek - 9.1-6 +- Add Requires on javapackages-tools + +* Tue Feb 27 2024 Jiri Vanek - 9.1-5 +- Rebuilt for java-21-openjdk as system jdk +- adjsuted the unhappy man ual java_home + +* Wed Jan 24 2024 Fedora Release Engineering - 9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 03 2024 Fedora Release Engineering - 9.1-1 +- update dto 9.1 +- https://github.com/judovana/java-runtime-decompiler/releases/tag/java-runtime-decompiler-9.1 +- https://github.com/judovana/java-runtime-decompiler/releases/tag/java-runtime-decompiler-9.0 + +* Fri Oct 13 2023 Fedora Release Engineering - 8.0-1 +- update dto 8.0 +- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-8.0 + +* Thu Jul 20 2023 Fedora Release Engineering - 7.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Fedora Release Engineering - 7.3-2 +- added 2b99a244b592445962cdd15ca33f80449f9aa2ea.patch to fix compiler issue in jrd window + +* Fri Jun 30 2023 Fedora Release Engineering - 7.3-1 +- moved to 7.3 +- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.3 +- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.2 + +* Wed Mar 15 2023 Fedora Release Engineering - 7.1-1 +- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.1 +- moved to jrd 7.1 +- added desp on java-diff and new cplc +- fixed(?) procyon wrapper + - todo procyon crashes witout trace +- removed jd wrapper (was new in 7.1, maybe will be added) +- split plugins to subpkgs +- added jrd-hex launcher +- added hex launcher, added jrd symlinks + +* Thu Jul 21 2022 Fedora Release Engineering - 6.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jul 08 2022 Jiri Vanek - 6.1-4 +- Rebuilt for Drop i686 JDKs + +* Sat Feb 05 2022 Jiri Vanek - 6.1-3 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 20 2022 Fedora Release Engineering - 6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Dec 26 2021 Fedora Release Engineering - 6.0.0.pre.3-1 +- bumped sources to upstream rc candidate + +* Sun Dec 26 2021 Fedora Release Engineering - 6.0.0.pre.2-1 +- bumped sources to upstream pre release + +* Thu Aug 12 2021 Fedora Release Engineering - 6.0.0.pre.1-1 +- umped sources to upstream pre release +- adapted jcoder plugin +- todo, patch for removed plugins + +* Thu Aug 12 2021 Fedora Release Engineering - 5.1-1 +- bumped to final sources + +* Mon Aug 09 2021 Fedora Release Engineering - 5.0.rc1-1 +- adapted manpage + +* Mon Aug 02 2021 Fedora Release Engineering - 5.0.beta2-1 +- updated to 5.0 +- removed jdk8 subpkg due to compiler api +- added Cfr and asmtools plugins +- todo man page + +* Thu Jul 22 2021 Fedora Release Engineering - 4.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Dec 08 2020 Jiri Vanek - 4.0-2 +- Added subpackage built by jdk8 to allow looking into jdk8 apps +- for some reason, jdk8 vm can not look into jdk11 vm, even if agent is correctly jdk8 version +- the config is still share, which is stupid, but I doubt there is another target audeince then me + +* Tue Dec 08 2020 Jiri Vanek - 4.0-1 +- built by jdk11 + +* Tue Jul 28 2020 Fedora Release Engineering - 3.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 10 2020 Jiri Vanek - 3.0-8 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Tue Mar 17 2020 Jiri Vanek - 3.0-7 +- aligned rsyntaxtextarea version, fixed javadoc generation + +* Tue Mar 17 2020 Jiri Vanek - 3.0-6 +- changed jdk8 requirement + +* Wed Jan 29 2020 Fedora Release Engineering - 3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Aug 27 2019 Jiri Vanek - 3.0-3 +- all stdouts from customlauncher moved to stderr + +* Mon Aug 26 2019 Jiri Vanek - 3.0-0 +- moved to usptream version 3.0 +- adjusted configs, removed lambda patch + +* Thu Jul 25 2019 Fedora Release Engineering - 2.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 17 2019 Jiri Vanek - 2.0-5 +- improved Patch3, includeLambdas.patch to sort the lamdas t the bottom + +* Thu Jan 17 2019 Jiri Vanek - 2.0-4 +- added depndence of procyon decompiler (currenlty under review +- added and applied Patch2, systemProcyon.patch to enable system procyon out of thebox +- added and applied Patch3, includeLambdas.patch to at least list lamdas untill fixed in upstream + +* Thu Jan 10 2019 Jiri Vanek - 2.0-3 +- added depndence of fernflower decompiler +- added and applied Patch1, systemFernflower.patch to enable system fernflower + +* Wed Nov 28 2018 Petra Mikova - 2.0-2 +- fixed changelog + +* Mon Nov 19 2018 Petra Mikova - 2.0-1 +- fixed issues listed in review (rhbz#1636019) +- added installation of desktop file + +* Wed Jun 06 2018 Petra Mikova - 1.1-1 +- initial commit diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 355a415..5e344f8 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 9.1 -Release: 8%{?dist} +Release: %autorelease # Automatically converted from old format: GPLv3 - review is highly recommended. License: GPL-3.0-only URL: https://github.com/pmikova/java-runtime-decompiler @@ -229,151 +229,4 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %license LICENSE %changelog -* Mon Jul 29 2024 Miroslav Suchý - 9.1-8 -- convert license to SPDX - -* Thu Jul 18 2024 Fedora Release Engineering - 9.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed May 22 2024 Marian Koncek - 9.1-6 -- Add Requires on javapackages-tools - -* Tue Feb 27 2024 Jiri Vanek - 9.1-5 -- Rebuilt for java-21-openjdk as system jdk -- adjsuted the unhappy man ual java_home - -* Wed Jan 24 2024 Fedora Release Engineering - 9.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jan 20 2024 Fedora Release Engineering - 9.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jan 03 2024 Fedora Release Engineering - 9.1-1 -- update dto 9.1 -- https://github.com/judovana/java-runtime-decompiler/releases/tag/java-runtime-decompiler-9.1 -- https://github.com/judovana/java-runtime-decompiler/releases/tag/java-runtime-decompiler-9.0 - -* Fri Oct 13 2023 Fedora Release Engineering - 8.0-1 -- update dto 8.0 -- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-8.0 - -* Thu Jul 20 2023 Fedora Release Engineering - 7.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 11 2023 Fedora Release Engineering - 7.3-2 -- added 2b99a244b592445962cdd15ca33f80449f9aa2ea.patch to fix compiler issue in jrd window - -* Fri Jun 30 2023 Fedora Release Engineering - 7.3-1 -- moved to 7.3 -- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.3 -- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.2 - -* Wed Mar 15 2023 Fedora Release Engineering - 7.1-1 -- https://github.com/pmikova/java-runtime-decompiler/releases/tag/java-runtime-decompiler-7.1 -- moved to jrd 7.1 -- added desp on java-diff and new cplc -- fixed(?) procyon wrapper - - todo procyon crashes witout trace -- removed jd wrapper (was new in 7.1, maybe will be added) -- split plugins to subpkgs -- added jrd-hex launcher -- added hex launcher, added jrd symlinks - -* Thu Jul 21 2022 Fedora Release Engineering - 6.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jul 08 2022 Jiri Vanek - 6.1-4 -- Rebuilt for Drop i686 JDKs - -* Sat Feb 05 2022 Jiri Vanek - 6.1-3 -- Rebuilt for java-17-openjdk as system jdk - -* Thu Jan 20 2022 Fedora Release Engineering - 6.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Sun Dec 26 2021 Fedora Release Engineering - 6.0.0.pre.3-1 -- bumped sources to upstream rc candidate - -* Sun Dec 26 2021 Fedora Release Engineering - 6.0.0.pre.2-1 -- bumped sources to upstream pre release - -* Thu Aug 12 2021 Fedora Release Engineering - 6.0.0.pre.1-1 -- umped sources to upstream pre release -- adapted jcoder plugin -- todo, patch for removed plugins - -* Thu Aug 12 2021 Fedora Release Engineering - 5.1-1 -- bumped to final sources - -* Mon Aug 09 2021 Fedora Release Engineering - 5.0.rc1-1 -- adapted manpage - -* Mon Aug 02 2021 Fedora Release Engineering - 5.0.beta2-1 -- updated to 5.0 -- removed jdk8 subpkg due to compiler api -- added Cfr and asmtools plugins -- todo man page - -* Thu Jul 22 2021 Fedora Release Engineering - 4.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jan 26 2021 Fedora Release Engineering - 4.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Dec 08 2020 Jiri Vanek - 4.0-2 -- Added subpackage built by jdk8 to allow looking into jdk8 apps -- for some reason, jdk8 vm can not look into jdk11 vm, even if agent is correctly jdk8 version -- the config is still share, which is stupid, but I doubt there is another target audeince then me - -* Tue Dec 08 2020 Jiri Vanek - 4.0-1 -- built by jdk11 - -* Tue Jul 28 2020 Fedora Release Engineering - 3.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jul 10 2020 Jiri Vanek - 3.0-8 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Tue Mar 17 2020 Jiri Vanek - 3.0-7 -- aligned rsyntaxtextarea version, fixed javadoc generation - -* Tue Mar 17 2020 Jiri Vanek - 3.0-6 -- changed jdk8 requirement - -* Wed Jan 29 2020 Fedora Release Engineering - 3.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Aug 27 2019 Jiri Vanek - 3.0-3 -- all stdouts from customlauncher moved to stderr - -* Mon Aug 26 2019 Jiri Vanek - 3.0-0 -- moved to usptream version 3.0 -- adjusted configs, removed lambda patch - -* Thu Jul 25 2019 Fedora Release Engineering - 2.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 2.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jan 17 2019 Jiri Vanek - 2.0-5 -- improved Patch3, includeLambdas.patch to sort the lamdas t the bottom - -* Thu Jan 17 2019 Jiri Vanek - 2.0-4 -- added depndence of procyon decompiler (currenlty under review -- added and applied Patch2, systemProcyon.patch to enable system procyon out of thebox -- added and applied Patch3, includeLambdas.patch to at least list lamdas untill fixed in upstream - -* Thu Jan 10 2019 Jiri Vanek - 2.0-3 -- added depndence of fernflower decompiler -- added and applied Patch1, systemFernflower.patch to enable system fernflower - -* Wed Nov 28 2018 Petra Mikova - 2.0-2 -- fixed changelog - -* Mon Nov 19 2018 Petra Mikova - 2.0-1 -- fixed issues listed in review (rhbz#1636019) -- added installation of desktop file - -* Wed Jun 06 2018 Petra Mikova - 1.1-1 -- initial commit +%autochangelog From 4cd54af8429c7c32cca9b90017eff42d9734b920 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Wed, 18 Sep 2024 14:50:02 +0200 Subject: [PATCH 29/40] Use java annotation removal tool --- java-runtime-decompiler.spec | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 5e344f8..831f745 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -43,6 +43,7 @@ BuildRequires: java-devel BuildRequires: google-gson BuildRequires: desktop-file-utils BuildRequires: classpathless-compiler +BuildRequires: jurand Requires: google-gson Requires: byteman Requires: rsyntaxtextarea @@ -125,6 +126,8 @@ This package provides bindings and requirements to asmtools7 disassembler and as %patch 63 -p0 %patch 7 -p1 +%java_remove_annotations decompiler_agent runtime-decompiler -s -n SuppressFBWarnings + %build pushd runtime-decompiler %pom_remove_plugin :maven-jar-plugin @@ -133,11 +136,6 @@ popd %pom_remove_plugin :maven-checkstyle-plugin %pom_remove_plugin :formatter-maven-plugin %pom_remove_dep :spotbugs-annotations -a=`find | grep ".*\.java$"` -for x in $a ; do - #grep -e ".*SuppressFBWarnings.*" $x && echo "^ $x ^" - sed "s/.*SuppressFBWarnings.*//g" $x -i -done xmvn --version echo $JAVA_HOME export JAVA_HOME=/usr/lib/jvm/java-21-openjdk #why? From f8a531eaf605f483872a9d324d4d8888abde0b96 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 07:42:10 +0000 Subject: [PATCH 30/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 9c25d6b6e32b2cec9de6cebb3298df20919a1d9a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 17:55:58 +0000 Subject: [PATCH 31/40] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From cf5e8ddab8af656fb5a377a0129c7e87ef956c34 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Tue, 29 Jul 2025 21:21:41 +0200 Subject: [PATCH 32/40] Rebuilt for java-25-openjdk as preffered jdk https://fedoraproject.org/wiki/Changes/Java25AndNoMoreSystemJdk Note, that since f43, you should be always explicit on what jdk to use. This commit should do exactly that. --- java-runtime-decompiler.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 831f745..d472796 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -26,7 +26,7 @@ Patch7: removeMultilineSpotbugs.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch -BuildRequires: maven-local +BuildRequires: maven-local-openjdk25 BuildRequires: byteman BuildRequires: rsyntaxtextarea BuildRequires: junit5 @@ -39,7 +39,7 @@ BuildRequires: maven-surefire-provider-junit5 BuildRequires: maven-surefire BuildRequires: maven-surefire-plugin BuildRequires: maven-clean-plugin -BuildRequires: java-devel +BuildRequires: java-25-devel BuildRequires: google-gson BuildRequires: desktop-file-utils BuildRequires: classpathless-compiler From 5754bd242e68be5f479a30d2661a88e5924461b1 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Thu, 4 Sep 2025 10:03:50 +0200 Subject: [PATCH 33/40] manual bodhi update for jdk25 needed on selected pkgs From 82a7cfd6d0b10312f356584dadb0e17517152866 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Thu, 4 Sep 2025 10:12:35 +0200 Subject: [PATCH 34/40] Removed java home --- java-runtime-decompiler.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index d472796..5b4bc5e 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -137,8 +137,8 @@ popd %pom_remove_plugin :formatter-maven-plugin %pom_remove_dep :spotbugs-annotations xmvn --version -echo $JAVA_HOME -export JAVA_HOME=/usr/lib/jvm/java-21-openjdk #why? +#echo $JAVA_HOME +#export JAVA_HOME=/usr/lib/jvm/java-25-openjdk #why? xmvn --version %mvn_build -f --xmvn-javadoc -- -Plegacy CPLC=/usr/share/java/classpathless-compiler From 292215c478c53cae3982d67d8c9593ccda19fec2 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Sun, 19 Oct 2025 16:40:52 +0200 Subject: [PATCH 35/40] Moved to 10.0 and made buildable. Runteim tests ahead --- .gitignore | 1 + java-runtime-decompiler.spec | 35 ++++++++----------- removeMultilineSpotbugs.patch | 65 ----------------------------------- rsyntaxVersion.patch | 4 +-- sources | 2 +- systemCfr.patch | 2 +- systemFernflower.patch | 2 +- systemJasm.patch | 2 +- systemJasmG.patch | 2 +- systemJcoder.patch | 2 +- systemJcoderG.patch | 2 +- systemProcyon.patch | 4 +-- systemProcyonAssembler.patch | 4 +-- 13 files changed, 29 insertions(+), 98 deletions(-) delete mode 100644 removeMultilineSpotbugs.patch diff --git a/.gitignore b/.gitignore index c37ccde..b19ba68 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /java-runtime-decompiler-7.3.tar.gz /java-runtime-decompiler-8.0.tar.gz /java-runtime-decompiler-9.1.tar.gz +/java-runtime-decompiler-10.0.tar.gz diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 5b4bc5e..b906b8c 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,8 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler -Version: 9.1 +Version: 10.0 Release: %autorelease -# Automatically converted from old format: GPLv3 - review is highly recommended. License: GPL-3.0-only URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz @@ -22,7 +21,6 @@ Patch6: systemJcoder.patch Patch61: systemJcoder7.patch Patch62: systemJcoderG.patch Patch63: systemJcoderG7.patch -Patch7: removeMultilineSpotbugs.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch @@ -31,8 +29,6 @@ BuildRequires: byteman BuildRequires: rsyntaxtextarea BuildRequires: junit5 BuildRequires: ant-junit5 -BuildRequires: junit -BuildRequires: ant-junit BuildRequires: java-diff-utils BuildRequires: maven-surefire-provider-junit BuildRequires: maven-surefire-provider-junit5 @@ -111,22 +107,21 @@ This package provides bindings and requirements to asmtools7 disassembler and as %prep %setup -q -n %{name}-%{name}-%{version} -%patch 1 -p0 -%patch 2 -p0 -%patch 21 -p0 -%patch 3 -p0 -%patch 4 -p0 -%patch 5 -p0 -%patch 51 -p0 -%patch 52 -p0 -%patch 53 -p0 -%patch 6 -p0 -%patch 61 -p0 -%patch 62 -p0 -%patch 63 -p0 -%patch 7 -p1 +%patch -P1 -p0 +%patch -P2 -p0 +%patch -P21 -p0 +%patch -P3 -p0 +%patch -P4 -p0 +%patch -P5 -p0 +%patch -P51 -p0 +%patch -P52 -p0 +%patch -P53 -p0 +%patch -P6 -p0 +%patch -P61 -p0 +%patch -P62 -p0 +%patch -P63 -p0 -%java_remove_annotations decompiler_agent runtime-decompiler -s -n SuppressFBWarnings +jurand -i -s -a -n SuppressFBWarnings decompiler_agent runtime-decompiler %build pushd runtime-decompiler diff --git a/removeMultilineSpotbugs.patch b/removeMultilineSpotbugs.patch deleted file mode 100644 index f8ddbb9..0000000 --- a/removeMultilineSpotbugs.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- a/runtime-decompiler/src/main/java/org/jrd/backend/core/DecompilerRequestReceiver.java -+++ a/runtime-decompiler/src/main/java/org/jrd/backend/core/XDecompilerRequestReceiver.java -@@ -262,10 +262,6 @@ - private static class ClassesComparator implements Comparator, Serializable { - - @SuppressWarnings({"ReturnCount", "CyclomaticComplexity"}) // comparator syntax -- @SuppressFBWarnings( -- value = "NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE", -- justification = "False report of possible NP dereference, despite testing both o1 & o2 for nullness." -- ) - @Override - public int compare(ClassInfo c1, ClassInfo c2) { - if (c1 == null && c2 == null) { ---- a/runtime-decompiler/src/main/java/org/jrd/backend/data/VmInfo.java -+++ a/runtime-decompiler/src/main/java/org/jrd/backend/data/XVmInfo.java -@@ -112,10 +112,6 @@ - this.type = local; - } - -- @SuppressFBWarnings( -- value = "NP_LOAD_OF_KNOWN_NULL_VALUE", -- justification = "Classpath is only used for FS VMs, in other cases getCp() does not get called" -- ) - public void setCp(List cp) { - if (cp == null) { - this.cp = null; ---- a/runtime-decompiler/src/test/java/org/jrd/frontend/frame/plugins/FileSelectorArrayRowTest.java -+++ a/runtime-decompiler/src/test/java/org/jrd/frontend/frame/plugins/XFileSelectorArrayRowTest.java -@@ -11,9 +11,6 @@ - import java.io.File; - import java.nio.file.Paths; - --@SuppressFBWarnings( -- value = "DMI_HARDCODED_ABSOLUTE_FILENAME", justification = "Hardcoded paths aren't used for manipulating with an actual filesystem." --) - class FileSelectorArrayRowTest { - @BeforeAll - static void setup() { ---- a/runtime-decompiler/src/main/java/org/jrd/backend/data/cli/utils/CompileArguments.java -+++ a/runtime-decompiler/src/main/java/org/jrd/backend/data/cli/utils/CompileArguments.java -@@ -77,10 +77,6 @@ - return new RuntimeCompilerConnector.JrdClassesProvider(localVmInfo, vmManager); - } - -- @SuppressFBWarnings( -- value = "NP_LOAD_OF_KNOWN_NULL_VALUE", -- justification = "Classpath is only used for FS VMs, in other cases getCp() does not get called" -- ) - /** - * Warning, possibly unused, rotten code. - */ ---- a/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java -+++ a/runtime-decompiler/src/main/java/org/jrd/frontend/frame/main/decompilerview/TextWithControls.java -@@ -103,10 +103,6 @@ - //currently standalone dialog supports only additions - //and additions do not support classlaoder selection (obviously) - //the classlaoder now remain thus unused -- @SuppressFBWarnings( -- value = "SS_SHOULD_BE_STATIC", -- justification = "is really per instance, however will ahve sense, only if standalone dialog will support overwrite, which is unlikely" -- ) - private final boolean overvriteEnabled = false; - //field to hots the target classlaoder if it willbe ever supported - //it is now null, what is waht the only ussage in compiler.compile(toCompile, pluginManager, classloader); needs - diff --git a/rsyntaxVersion.patch b/rsyntaxVersion.patch index cf084ca..c423a28 100644 --- a/rsyntaxVersion.patch +++ b/rsyntaxVersion.patch @@ -4,8 +4,8 @@ com.fifesoft rsyntaxtextarea -- 3.1.2 -+ 3.1.1 +- 3.6.0 ++ 3.6.0 org.jboss.byteman diff --git a/sources b/sources index 639b6d5..1ab8d67 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (java-runtime-decompiler-9.1.tar.gz) = 9373d08d9482614561726ab82b3f116136c79bf9758950276cf3043c6443425c17b43699d19cd33eb0761e3819795249a304135d64185989dcc1eeb59a9c671d +SHA512 (java-runtime-decompiler-10.0.tar.gz) = b3e3b98e5d9fbb367e43df32a10e9cbed2cfd696109b14f4360f49ddf81eda5214fa425327407392642544602a5699c1b9221a33da9f0e1b0ccd3384b4aa6ead diff --git a/systemCfr.patch b/systemCfr.patch index 2a0a77d..ed64dc4 100644 --- a/systemCfr.patch +++ b/systemCfr.patch @@ -6,7 +6,7 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/CfrDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/CfrDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/benf/cfr/0.151/cfr-0.151.jar" +- "file://${HOME}/.m2/repository/org/benf/cfr/0.152/cfr-0.152.jar" + "file:/usr/share/java/CFR/cfr.jar" ], "DecompilerDownloadURL": "https://www.benf.org/other/cfr/faq.html" diff --git a/systemFernflower.patch b/systemFernflower.patch index b179e10..746c176 100644 --- a/systemFernflower.patch +++ b/systemFernflower.patch @@ -6,7 +6,7 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/FernflowerDecompilerWrapper.java", + "WrapperURL": "file:///etc/java-runtime-decompiler/plugins/FernflowerDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/jboss/windup/decompiler/decompiler-fernflower/5.1.4.Final/decompiler-fernflower-5.1.4.Final.jar", +- "file://${HOME}/.m2/repository/org/jboss/windup/decompiler/decompiler-fernflower/6.3.9.Final/decompiler-fernflower-6.3.9.Final.jar", - "file://${HOME}/.m2/repository/org/jboss/windup/decompiler/fernflower/windup-fernflower/1.0.0.20171018/windup-fernflower-1.0.0.20171018.jar" + "file:///usr/share/java/fernflower.jar" ], diff --git a/systemJasm.patch b/systemJasm.patch index dc2991d..33c2f1d 100644 --- a/systemJasm.patch +++ b/systemJasm.patch @@ -6,7 +6,7 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JasmDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JasmDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b09-ea/asmtools-8.0.b09-ea.jar" +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/9.0.b12-ea/asmtools-9.0.b12-ea.jar" + "file:/usr/share/java/openjdk-asmtools/asmtools.jar" ], "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" diff --git a/systemJasmG.patch b/systemJasmG.patch index 81b6665..2844626 100644 --- a/systemJasmG.patch +++ b/systemJasmG.patch @@ -6,7 +6,7 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JasmGDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JasmGDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b09-ea/asmtools-8.0.b09-ea.jar" +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/9.0.b12-ea/asmtools-9.0.b12-ea.jar" + "file:/usr/share/java/openjdk-asmtools/asmtools.jar" ], "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" diff --git a/systemJcoder.patch b/systemJcoder.patch index bd2690a..086e3ac 100644 --- a/systemJcoder.patch +++ b/systemJcoder.patch @@ -6,7 +6,7 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JcoderDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JcoderDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b09-ea/asmtools-8.0.b09-ea.jar" +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/9.0.b12-ea/asmtools-9.0.b12-ea.jar" + "file:/usr/share/java/openjdk-asmtools/asmtools.jar" ], "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" diff --git a/systemJcoderG.patch b/systemJcoderG.patch index 4e07a9c..61fb2eb 100644 --- a/systemJcoderG.patch +++ b/systemJcoderG.patch @@ -6,7 +6,7 @@ - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JcoderGDecompilerWrapper.java", + "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JcoderGDecompilerWrapper.java", "DependencyURL": [ -- "file://${HOME}/.m2/repository/org/openjdk/asmtools/8.0.b09-ea/asmtools-8.0.b09-ea.jar" +- "file://${HOME}/.m2/repository/org/openjdk/asmtools/9.0.b12-ea/asmtools-9.0.b12-ea.jar" + "file:/usr/share/java/openjdk-asmtools/asmtools.jar" ], "DecompilerDownloadURL": "https://github.com/openjdk/asmtools" diff --git a/systemProcyon.patch b/systemProcyon.patch index 4886e80..5870794 100644 --- a/systemProcyon.patch +++ b/systemProcyon.patch @@ -8,13 +8,13 @@ - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-core/1.0-SNAPSHOT/procyon-core-1.0-SNAPSHOT.jar", - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-compilertools/1.0-SNAPSHOT/procyon-compilertools-1.0-SNAPSHOT.jar", - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-decompiler/1.0-SNAPSHOT/procyon-decompiler-1.0-SNAPSHOT.jar", -- "file://${HOME}/.m2/repository/com/beust/jcommander/1.78/jcommander-1.78.jar" +- "file://${HOME}/.m2/repository/com/beust/jcommander/1.82/jcommander-1.82.jar" + "/usr/share/java/procyon/procyon-core.jar", + "/usr/share/java/procyon/procyon-compilertools.jar", + "/usr/share/java/procyon/procyon-decompiler.jar", + "/usr/share/java/beust-jcommander.jar" ], - "DecompilerDownloadURL": "https://github.com/mstrobel/procyon/git " + "DecompilerDownloadURL": "https://github.com/mstrobel/procyon/" } diff --git a/systemProcyonAssembler.patch b/systemProcyonAssembler.patch index d385b99..10a690b 100644 --- a/systemProcyonAssembler.patch +++ b/systemProcyonAssembler.patch @@ -8,13 +8,13 @@ - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-core/1.0-SNAPSHOT/procyon-core-1.0-SNAPSHOT.jar", - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-compilertools/1.0-SNAPSHOT/procyon-compilertools-1.0-SNAPSHOT.jar", - "file://${HOME}/.m2/repository/com/github/mstrobel/procyon-decompiler/1.0-SNAPSHOT/procyon-decompiler-1.0-SNAPSHOT.jar", -- "file://${HOME}/.m2/repository/com/beust/jcommander/1.78/jcommander-1.78.jar" +- "file://${HOME}/.m2/repository/com/beust/jcommander/1.82/jcommander-1.82.jar" + "/usr/share/java/procyon/procyon-core.jar", + "/usr/share/java/procyon/procyon-compilertools.jar", + "/usr/share/java/procyon/procyon-decompiler.jar", + "/usr/share/java/beust-jcommander.jar" ], - "DecompilerDownloadURL": "https://github.com/mstrobel/procyon/git " + "DecompilerDownloadURL": "https://github.com/mstrobel/procyon/" } From 2a2543ceb15b2922a1ae39dd0711db915c6b1250 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Sun, 19 Oct 2025 18:10:18 +0200 Subject: [PATCH 36/40] Enabled jd plugin --- java-runtime-decompiler.spec | 21 +++++++++++++++------ systemJd.patch | 12 ++++++++++++ 2 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 systemJd.patch diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index b906b8c..357f7f4 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -21,6 +21,7 @@ Patch6: systemJcoder.patch Patch61: systemJcoder7.patch Patch62: systemJcoderG.patch Patch63: systemJcoderG7.patch +Patch7: systemJd.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch @@ -50,6 +51,7 @@ Recommends: java Recommends: %{name}-fernflower-plugin Recommends: %{name}-procyon-plugin Recommends: %{name}-cfr-plugin +Recommends: %{name}-jd-plugin Recommends: %{name}-asmtools-plugin Recommends: %{name}-asmtools7-plugin @@ -89,6 +91,14 @@ Requires: %{name} = %{version}-%{release} %description cfr-plugin This package provides bindings and requirements to CFR decompiler for %{name}. +%package jd-plugin +Requires: jd-core +Summary: JD decompiler %{name} +Requires: %{name} = %{version}-%{release} + +%description jd-plugin +This package provides bindings and requirements to JD decompiler for %{name}. + %package asmtools-plugin Requires: openjdk-asmtools >= 8.0.b09 Summary: asmtools disassembler and assembler plugin for %{name} @@ -120,6 +130,7 @@ This package provides bindings and requirements to asmtools7 disassembler and as %patch -P61 -p0 %patch -P62 -p0 %patch -P63 -p0 +%patch -P7 -p0 jurand -i -s -a -n SuppressFBWarnings decompiler_agent runtime-decompiler @@ -132,8 +143,6 @@ popd %pom_remove_plugin :formatter-maven-plugin %pom_remove_dep :spotbugs-annotations xmvn --version -#echo $JAVA_HOME -#export JAVA_HOME=/usr/lib/jvm/java-25-openjdk #why? xmvn --version %mvn_build -f --xmvn-javadoc -- -Plegacy CPLC=/usr/share/java/classpathless-compiler @@ -165,10 +174,6 @@ install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/applications desktop-file-install --vendor="fedora" --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE3} desktop-file-install --vendor="fedora" --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE4} -#jd is not yet packed and sucks anyway -rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.java -rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json - %files -f .mfiles %attr(755, root, -) %{_bindir}/java-runtime-decompiler %attr(755, root, -) %{_bindir}/java-runtime-decompiler-hex @@ -197,6 +202,10 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json %config %{_sysconfdir}/%{name}/plugins/CfrDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/CfrDecompilerWrapper.json +%files jd-plugin +%config %{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.java +%config(noreplace) %{_sysconfdir}/%{name}/plugins/JdDecompilerWrapper.json + %files asmtools-plugin %config %{_sysconfdir}/%{name}/plugins/JasmDecompilerWrapper.java %config(noreplace) %{_sysconfdir}/%{name}/plugins/JasmDecompilerWrapper.json diff --git a/systemJd.patch b/systemJd.patch new file mode 100644 index 0000000..2a2be52 --- /dev/null +++ b/systemJd.patch @@ -0,0 +1,12 @@ +--- runtime-decompiler/src/plugins/JdDecompilerWrapper.json ++++ runtime-decompiler/src/plugins/JdDecompilerWrapper.json +@@ -2,7 +2,7 @@ + "Name": "JD", + "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JdDecompilerWrapper.java", + "DependencyURL": [ +- "file://${HOME}/.m2/repository/org/jd/jd-core/1.1.3/jd-core-1.1.3.jar" ++ "file:///usr/share/java/jd-core/jd-core.jar" + ], + "DecompilerDownloadURL": "https://github.com/java-decompiler/jd-core/" + } + From b9b96c0bccb7058d7804c9b97c24a0c8c69831dc Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Tue, 21 Oct 2025 18:59:12 +0200 Subject: [PATCH 37/40] Fixed jd plugin --- systemJd.patch | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/systemJd.patch b/systemJd.patch index 2a2be52..5228d21 100644 --- a/systemJd.patch +++ b/systemJd.patch @@ -1,8 +1,10 @@ --- runtime-decompiler/src/plugins/JdDecompilerWrapper.json +++ runtime-decompiler/src/plugins/JdDecompilerWrapper.json -@@ -2,7 +2,7 @@ +@@ -1,8 +1,8 @@ + { "Name": "JD", - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JdDecompilerWrapper.java", +- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JdDecompilerWrapper.java", ++ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JdDecompilerWrapper.java", "DependencyURL": [ - "file://${HOME}/.m2/repository/org/jd/jd-core/1.1.3/jd-core-1.1.3.jar" + "file:///usr/share/java/jd-core/jd-core.jar" From be57c9a98a0274f24c150590e1161c850f8ecf12 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Thu, 23 Oct 2025 16:02:50 +0200 Subject: [PATCH 38/40] getrid of autrelease --- java-runtime-decompiler.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 357f7f4..61b7a9f 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 10.0 -Release: %autorelease +Release: 5 License: GPL-3.0-only URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz @@ -25,7 +25,7 @@ Patch7: systemJd.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch -BuildRequires: maven-local-openjdk25 +BuildRequires: maven-local-openjdk21 BuildRequires: byteman BuildRequires: rsyntaxtextarea BuildRequires: junit5 @@ -36,7 +36,7 @@ BuildRequires: maven-surefire-provider-junit5 BuildRequires: maven-surefire BuildRequires: maven-surefire-plugin BuildRequires: maven-clean-plugin -BuildRequires: java-25-devel +BuildRequires: java-21-devel BuildRequires: google-gson BuildRequires: desktop-file-utils BuildRequires: classpathless-compiler From 859248084e9f1189ce87dca2a4577014d86d1203 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Thu, 23 Oct 2025 16:23:35 +0200 Subject: [PATCH 39/40] Added forgotten %dist --- java-runtime-decompiler.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 61b7a9f..d263e70 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 10.0 -Release: 5 +Release: 6%{?dist} License: GPL-3.0-only URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz From d488c1b909759fa4a94bb48f7fa2cd4546065edb Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Mon, 5 Jan 2026 18:29:47 +0100 Subject: [PATCH 40/40] Bumped to jdk25 --- java-runtime-decompiler.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index d263e70..8ef55d9 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,7 +1,7 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler Version: 10.0 -Release: 6%{?dist} +Release: 7%{?dist} License: GPL-3.0-only URL: https://github.com/pmikova/java-runtime-decompiler Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz @@ -25,7 +25,7 @@ Patch7: systemJd.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch -BuildRequires: maven-local-openjdk21 +BuildRequires: maven-local-openjdk25 BuildRequires: byteman BuildRequires: rsyntaxtextarea BuildRequires: junit5 @@ -36,7 +36,7 @@ BuildRequires: maven-surefire-provider-junit5 BuildRequires: maven-surefire BuildRequires: maven-surefire-plugin BuildRequires: maven-clean-plugin -BuildRequires: java-21-devel +BuildRequires: java-25-devel BuildRequires: google-gson BuildRequires: desktop-file-utils BuildRequires: classpathless-compiler