diff --git a/.gitignore b/.gitignore index b19ba68..f4ee33b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,2 @@ /java-runtime-decompiler-2.0.tar.gz /java-runtime-decompiler-3.0.tar.gz -/java-runtime-decompiler-4.0.tar.gz -/java-runtime-decompiler-5.0.beta2.tar.gz -/java-runtime-decompiler-5.0.rc1.tar.gz -/java-runtime-decompiler-5.1.tar.gz -/java-runtime-decompiler-6.0.0.pre.1.tar.gz -/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 -/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 -/java-runtime-decompiler-10.0.tar.gz diff --git a/changelog b/changelog deleted file mode 100644 index c8aaa6a..0000000 --- a/changelog +++ /dev/null @@ -1,148 +0,0 @@ -* 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 b/java-runtime-decompiler index df6ccc7..e2b83b0 100644 --- a/java-runtime-decompiler +++ b/java-runtime-decompiler @@ -7,44 +7,41 @@ . /usr/share/java-utils/java-functions -echo $@ | grep -q -e "-verbose" -verbose=$? - -function warning() { - if [ $verbose -eq 0 ] ; then - echo ${1} >&2 - fi -} - -# the launcher is reused uder different name, hardcoding name -JRD=java-runtime-decompiler +# identify directory tree +JRD=`basename $0` 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 #although java moved compiler classes to jre, PREFERING jdk should not hurt +export _prefer_jre=false _set_java_home set_jvm # all dependencies must be on classpath -set_classpath java-runtime-decompiler rsyntaxtextarea byteman google-gson classpathless-compiler objectweb-asm java-diff-utils +set_classpath java-runtime-decompiler rsyntaxtextarea byteman google-gson CLASSPATH=$CLASSPATH:${JAVA_HOME}/lib/tools.jar # set path to agent automatically @@ -54,19 +51,16 @@ AGENT_PREFIX="AGENT_PATH===" AGENT_STRING=$AGENT_PREFIX$AGENT # copy json wrappers information to home so the users can edit -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" +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 + echo "Configuration files were not copied for $FILE_NAME - the existing configuration would be overwritten." >&2 + fi +done # create config file and add agent default path touch $CONFIG_FILE @@ -75,11 +69,11 @@ if [ -e $AGENT ] then if grep -Fxq $AGENT_STRING $CONFIG_FILE then - warning "Default agent path is already set in $CONFIG_FILE. Skipping agent path setting." + echo "Default agent path is already set in $CONFIG_FILE. Skipping agent path setting." >&2 elif grep -rq $AGENT_PREFIX $CONFIG_FILE then RESULT_OF_GREP="$(grep -rq $AGENT_PREFIX $CONFIG_FILE)" - warning "Agent path is already set in $CONFIG_FILE as ${RESULT_OF_GREP}. Skipping agent path setting." + echo "Agent path is already set in $CONFIG_FILE as ${RESULT_OF_GREP}. Skipping agent path setting." >&2 else echo $AGENT_STRING >> $CONFIG_FILE @@ -88,5 +82,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 --add-opens java.base/java.io=ALL-UNNAMED" # jdk11+ do not allow attach by default; jdk17 is hiding javap api -run "$@" +run "$@" + diff --git a/java-runtime-decompiler.1 b/java-runtime-decompiler.1 new file mode 100644 index 0000000..eb2cddd --- /dev/null +++ b/java-runtime-decompiler.1 @@ -0,0 +1,32 @@ +.TH java-runtime-decompiler 1 "26 August 2019" "version 3.0" +.SH NAME +java-runtime-decompiler \- launch java-runtime decompiler GUI +.SH SYNOPSIS +java-runtime-decompiler +.SH DESCRIPTION +It is used for extraction of bytecode from running JVM and decompilation of the bytecode with an external decompiler. Paths to the decompiler need to be specified in .json configuration file located in /etc/java-runtime-decompiler +.SH OPTIONS +.IP -verbose +Print out all exceptions and debugging strings in stdout. +.IP -help +Print out help and exits. +.IP -listjvms +List available local JVMs. +.IP -listplugins +List currently configured plugins with their status. +.IP "-listclasses pid-xor-url" +List loaded classes from JVM with given PID/URL. +.IP "-bytes pid class-name" +Print on stdout binary form of given class loaded in JVM with given PID/URL. +.IP "-base64bytes pid-xor-url class-name" +Print on stdout binary form encoded in base64 of given class loaded in JVM with given PID/URL. +.IP "-decompile pid-xor-url class-name config-file" +Print on stdout decompiled class, needs PID/URL of JVM, class name and name/file with decompiler configuration, can use javap disassembler. To pass arguments to the disassembler, add them to javap without spaces (e.g. javap-v). +.IP "-overwrite pid/urlOfJVM classToOverwrite fileWithNewBytecode" +three args - pid or url of JVM and class to overwrite and file with new bytecode +.SH AUTHOR +Petra Alice Mikova (petra.alice.mikova@gmail.com) +Jiri Vanek (judovana@email.com) +Radek Manak (Radek.Manak@protonmail.com) +Ondrej Hrdlicka (ondra.ondrah@seznam.cz) + diff --git a/java-runtime-decompiler.spec b/java-runtime-decompiler.spec index 8ef55d9..7a9b31f 100644 --- a/java-runtime-decompiler.spec +++ b/java-runtime-decompiler.spec @@ -1,65 +1,38 @@ Summary: Application for extraction and decompilation of JVM byte code Name: java-runtime-decompiler -Version: 10.0 -Release: 7%{?dist} -License: GPL-3.0-only +Version: 3.0 +Release: 6%{?dist} +License: GPLv3 URL: https://github.com/pmikova/java-runtime-decompiler -Source0: https://github.com/judovana/%{name}/archive/%{name}-%{version}.tar.gz -Source1: %{name} +Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz +Source1: java-runtime-decompiler +Source2: java-runtime-decompiler.1 Source3: jrd.desktop -Source4: jrd-hex.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: systemJd.patch - BuildArch: noarch -ExclusiveArch: %{java_arches} noarch -BuildRequires: maven-local-openjdk25 +BuildRequires: maven-local BuildRequires: byteman BuildRequires: rsyntaxtextarea BuildRequires: junit5 BuildRequires: ant-junit5 -BuildRequires: java-diff-utils +BuildRequires: junit +BuildRequires: ant-junit BuildRequires: maven-surefire-provider-junit BuildRequires: maven-surefire-provider-junit5 BuildRequires: maven-surefire BuildRequires: maven-surefire-plugin -BuildRequires: maven-clean-plugin -BuildRequires: java-25-devel +# depends on devel, not runtime (needs tools.jar) +BuildRequires: java-1.8.0-devel BuildRequires: google-gson BuildRequires: desktop-file-utils -BuildRequires: classpathless-compiler -BuildRequires: jurand -Requires: google-gson -Requires: byteman -Requires: rsyntaxtextarea -Requires: javapackages-tools -Requires: classpathless-compiler -Requires: java-diff-utils -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 +Requires: java-1.8.0-devel +Recommends: fernflower +Recommends: procyon-decompiler %description -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. - +This application can access JVM memory at runtime, +extract byte code from the JVM and decompile it. %package javadoc Summary: Javadoc for %{name} Requires: %{name} = %{version}-%{release} @@ -67,168 +40,90 @@ 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 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} -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} -%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 -%patch -P7 -p0 - -jurand -i -s -a -n SuppressFBWarnings decompiler_agent runtime-decompiler +%patch1 -p0 +%patch2 -p0 %build pushd runtime-decompiler +%pom_remove_dep com.sun:tools +%pom_add_dep com.sun:tools %pom_remove_plugin :maven-jar-plugin popd -%pom_remove_plugin :spotbugs-maven-plugin -%pom_remove_plugin :maven-checkstyle-plugin -%pom_remove_plugin :formatter-maven-plugin -%pom_remove_dep :spotbugs-annotations -xmvn --version -xmvn --version -%mvn_build -f --xmvn-javadoc -- -Plegacy -CPLC=/usr/share/java/classpathless-compiler -$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 +%mvn_build %install %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 -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1/ 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 %{SOURCE4} +desktop-file-install --vendor="fedora" \ +--dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE3} %files -f .mfiles %attr(755, root, -) %{_bindir}/java-runtime-decompiler -%attr(755, root, -) %{_bindir}/java-runtime-decompiler-hex -%{_bindir}/jrd -%{_bindir}/jrd-hex -%{_mandir}/man1/java-runtime-decompiler*.1* -%{_mandir}/man1/jrd*.1* +%{_mandir}/man1/java-runtime-decompiler.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 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 -%config %{_sysconfdir}/%{name}/plugins/JasmGDecompilerWrapper.java -%config(noreplace) %{_sysconfdir}/%{name}/plugins/JasmGDecompilerWrapper.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 -%autochangelog +* 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/jrd-hex.desktop b/jrd-hex.desktop deleted file mode 100644 index a0db405..0000000 --- a/jrd-hex.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[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 70a9f2b..eb2d468 100644 --- a/jrd.desktop +++ b/jrd.desktop @@ -6,4 +6,3 @@ Version=1.0 Name=Java Runtime Decompiler Exec=java-runtime-decompiler Terminal=false -Name[en_US]=jrd.desktop diff --git a/rsyntaxVersion.patch b/rsyntaxVersion.patch deleted file mode 100644 index c423a28..0000000 --- a/rsyntaxVersion.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- runtime-decompiler/pom.xml -+++ runtime-decompiler/pom.xml -@@ -134,7 +134,7 @@ - - com.fifesoft - rsyntaxtextarea -- 3.6.0 -+ 3.6.0 - - - org.jboss.byteman - diff --git a/sources b/sources index 1ab8d67..d54d342 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (java-runtime-decompiler-10.0.tar.gz) = b3e3b98e5d9fbb367e43df32a10e9cbed2cfd696109b14f4360f49ddf81eda5214fa425327407392642544602a5699c1b9221a33da9f0e1b0ccd3384b4aa6ead +SHA512 (java-runtime-decompiler-3.0.tar.gz) = 329184689763b7777ef0bad1c0f787aa649f855692b52bd843cacd424d5d2c0caadad328f80cd7f229031a151b6414c712bd770abd285412055c5d34d932875c diff --git a/systemCfr.patch b/systemCfr.patch deleted file mode 100644 index ed64dc4..0000000 --- a/systemCfr.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- runtime-decompiler/src/plugins/CfrDecompilerWrapper.json -+++ runtime-decompiler/src/plugins/CfrDecompilerWrapper.json -@@ -1,8 +1,8 @@ - { - "Name": "Cfr", -- "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.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 746c176..ecb8d07 100644 --- a/systemFernflower.patch +++ b/systemFernflower.patch @@ -4,12 +4,13 @@ { "Name": "Fernflower", - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/FernflowerDecompilerWrapper.java", -+ "WrapperURL": "file:///etc/java-runtime-decompiler/plugins/FernflowerDecompilerWrapper.java", ++ "WrapperURL": "file:///etc/java-runtime-decompiler/plugins/FernflowerDecompilerWrapper.java", "DependencyURL": [ -- "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/decompiler-fernflower/4.2.1.Final/decompiler-fernflower-4.2.1.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" ], "DecompilerDownloadURL": "https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine" - } - +-} +\ No newline at end of file ++} diff --git a/systemJasm.patch b/systemJasm.patch deleted file mode 100644 index 33c2f1d..0000000 --- a/systemJasm.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- runtime-decompiler/src/plugins/JasmDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 -+++ runtime-decompiler/src/plugins/JasmDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 -@@ -1,8 +1,8 @@ - { - "Name": "jasm", -- "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/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/systemJasm7.patch b/systemJasm7.patch deleted file mode 100644 index 5b4da96..0000000 --- a/systemJasm7.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- 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 deleted file mode 100644 index 2844626..0000000 --- a/systemJasmG.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- 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/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/systemJasmG7.patch b/systemJasmG7.patch deleted file mode 100644 index f0f0e55..0000000 --- a/systemJasmG7.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- 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/systemJcoder.patch b/systemJcoder.patch deleted file mode 100644 index 086e3ac..0000000 --- a/systemJcoder.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- runtime-decompiler/src/plugins/JcoderDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100 -+++ runtime-decompiler/src/plugins/JcoderDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100 -@@ -1,8 +1,8 @@ - { - "Name": "jcoder", -- "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/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/systemJcoder7.patch b/systemJcoder7.patch deleted file mode 100644 index d39c0ce..0000000 --- a/systemJcoder7.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- 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 deleted file mode 100644 index 61fb2eb..0000000 --- a/systemJcoderG.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- 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/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/systemJcoderG7.patch b/systemJcoderG7.patch deleted file mode 100644 index 832113b..0000000 --- a/systemJcoderG7.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- 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/systemJd.patch b/systemJd.patch deleted file mode 100644 index 5228d21..0000000 --- a/systemJd.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- runtime-decompiler/src/plugins/JdDecompilerWrapper.json -+++ runtime-decompiler/src/plugins/JdDecompilerWrapper.json -@@ -1,8 +1,8 @@ - { - "Name": "JD", -- "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" - ], - "DecompilerDownloadURL": "https://github.com/java-decompiler/jd-core/" - } - diff --git a/systemProcyon.patch b/systemProcyon.patch index 5870794..1581df9 100644 --- a/systemProcyon.patch +++ b/systemProcyon.patch @@ -1,20 +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,10 +2,10 @@ +@@ -1,9 +1,10 @@ + { "Name": "Procyon", - "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/ProcyonDecompilerWrapper.java", -+ "WrapperURL": "file:/etc/java-runtime-decompiler/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/beust/jcommander/1.82/jcommander-1.82.jar" +- "file://${HOME}/.m2/repository/org/bitbucket/mstrobel/procyon-core/0.5.35/procyon-core-0.5.35.jar", +- "file://${HOME}/.m2/repository/org/bitbucket/mstrobel/procyon-compilertools/0.5.35/procyon-compilertools-0.5.35.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" ++ "/usr/share/java/procyon/procyon-decompiler.jar" ], - "DecompilerDownloadURL": "https://github.com/mstrobel/procyon/" - } - - + "DecompilerDownloadURL": "https://bitbucket.org/mstrobel/procyon/downloads/" +-} +\ No newline at end of file ++} diff --git a/systemProcyonAssembler.patch b/systemProcyonAssembler.patch deleted file mode 100644 index 10a690b..0000000 --- a/systemProcyonAssembler.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- 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,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/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/" - } - -