split plugins to subpkgs and adapted launchers
procyon crashes without warning, asmtool8 packed in bad, old version
This commit is contained in:
parent
ff42bdeea2
commit
3ddebd0508
4 changed files with 128 additions and 47 deletions
|
|
@ -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 <releng@fedoraproject.org> - 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 <releng@fedoraproject.org> - 6.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue