From e45dc63c92b3d98e9d1688e012b6afbc46dc7c1f Mon Sep 17 00:00:00 2001 From: gil Date: Sat, 6 Jan 2024 00:09:49 +0100 Subject: [PATCH] update to 4.5.1 [release 4.5.1-1mamba;Mon Jan 17 2011] --- README.md | 4 + java-proguard-4.3-homedir.patch | 27 ++++ java-proguard-4.3-nowtkplugin.patch | 11 ++ java-proguard.spec | 208 ++++++++++++++++++++++++++++ proguard-gui-script | 15 ++ proguard-retrace-script | 15 ++ proguard-script | 15 ++ proguard.png | Bin 0 -> 2450 bytes proguardgui.png | Bin 0 -> 3511 bytes retrace.png | Bin 0 -> 3743 bytes 10 files changed, 295 insertions(+) create mode 100644 java-proguard-4.3-homedir.patch create mode 100644 java-proguard-4.3-nowtkplugin.patch create mode 100644 java-proguard.spec create mode 100644 proguard-gui-script create mode 100644 proguard-retrace-script create mode 100644 proguard-script create mode 100644 proguard.png create mode 100644 proguardgui.png create mode 100644 retrace.png diff --git a/README.md b/README.md index b76b9dd..8bc9ff9 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # java-proguard +ProGuard is a free Java class file shrinker, optimizer, and obfuscator. It removes unused +classes, fields, methods, and attributes. It then optimizes the bytecode. It then renames +the remaining classes, fields, and methods using short meaningless names. + diff --git a/java-proguard-4.3-homedir.patch b/java-proguard-4.3-homedir.patch new file mode 100644 index 0000000..00aa459 --- /dev/null +++ b/java-proguard-4.3-homedir.patch @@ -0,0 +1,27 @@ +diff -Nru proguard4.3/bin/proguardgui.sh proguard4.3/bin-gil/proguardgui.sh +--- proguard4.3/bin/proguardgui.sh 2008-08-06 23:53:51.000000000 +0200 ++++ proguard4.3/bin-gil/proguardgui.sh 2009-04-15 03:19:34.000000000 +0200 +@@ -6,4 +6,4 @@ + PROGUARD_HOME=`dirname "$0"` + PROGUARD_HOME=`dirname "$PROGUARD_HOME"` + +-java -jar $PROGUARD_HOME/lib/proguardgui.jar "$@" ++java -jar _PROGUARD_HOME_/lib/proguardgui.jar "$@" +diff -Nru proguard4.3/bin/proguard.sh proguard4.3/bin-gil/proguard.sh +--- proguard4.3/bin/proguard.sh 2008-08-06 22:18:59.000000000 +0200 ++++ proguard4.3/bin-gil/proguard.sh 2009-04-15 03:19:07.000000000 +0200 +@@ -6,4 +6,4 @@ + PROGUARD_HOME=`dirname "$0"` + PROGUARD_HOME=`dirname "$PROGUARD_HOME"` + +-java -jar $PROGUARD_HOME/lib/proguard.jar "$@" ++java -jar _PROGUARD_HOME_/lib/proguard.jar "$@" +diff -Nru proguard4.3/bin/retrace.sh proguard4.3/bin-gil/retrace.sh +--- proguard4.3/bin/retrace.sh 2008-08-06 22:22:41.000000000 +0200 ++++ proguard4.3/bin-gil/retrace.sh 2009-04-15 03:18:49.000000000 +0200 +@@ -6,4 +6,4 @@ + PROGUARD_HOME=`dirname "$0"` + PROGUARD_HOME=`dirname "$PROGUARD_HOME"` + +-java -jar $PROGUARD_HOME/lib/retrace.jar "$@" ++java -jar _PROGUARD_HOME_/lib/retrace.jar "$@" diff --git a/java-proguard-4.3-nowtkplugin.patch b/java-proguard-4.3-nowtkplugin.patch new file mode 100644 index 0000000..8ac72d2 --- /dev/null +++ b/java-proguard-4.3-nowtkplugin.patch @@ -0,0 +1,11 @@ +--- proguard4.3/build/build.xml 2008-08-12 23:45:59.000000000 +0200 ++++ proguard4.3/build/build.xml-gil 2009-04-15 01:59:47.000000000 +0200 +@@ -14,7 +14,7 @@ + + + +- ++ + + + +URL: http://proguard.sourceforge.net/ +Source0: http://downloads.sourceforge.net/project/proguard/proguard/%{majver}/proguard%{version}.tar.gz +Source1: proguard.png +Source2: proguardgui.png +Source3: retrace.png +Source4: proguard-script +Source5: proguard-gui-script +Source6: proguard-retrace-script +Patch0: java-proguard-4.3-nowtkplugin.patch +Patch1: java-proguard-4.3-homedir.patch +License: GPL +BuildRequires: apache-ant +BuildRequires: desktop-file-utils +BuildRequires: ImageMagick +BuildRequires: jpackage-utils +BuildRequires: java-openjdk +Requires: jpackage-utils +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +ProGuard is a free Java class file shrinker, optimizer, and obfuscator. It removes unused +classes, fields, methods, and attributes. It then optimizes the bytecode. It then renames +the remaining classes, fields, and methods using short meaningless names. + +%package gui +Group: Development/Tools +Summary: GUI for ProGuard +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: jpackage-utils + +%description gui +ProGuard, Java class file shrinker, optimizer, obfuscator, and preverifier. + +This package contains a GUI for ProGuard. + +%package javadoc +Group: Documentation +Summary: Javadoc for %{name} + +%description javadoc +ProGuard, Java class file shrinker, optimizer, obfuscator, and preverifier. + +This package contains javadoc for %{name}. + +%package manual +Group: Documentation +Summary: Manual for %{name} + +%description manual +ProGuard, Java class file shrinker, optimizer, obfuscator, and preverifier. + +This package contains documentation for %{name}. + +%prep + +%setup -q -n proguard%{version} + +for j in $(find . -name "*.jar"); do + rm -rf $j +done + +for c in $(find . -name "*.class"); do + rm -rf $c +done + +sed -i '/class-path/I d' src/proguard/gui/MANIFEST.MF +sed -i '/class-path/I d' src/proguard/retrace/MANIFEST.MF + +%build +pushd build + unset JAVA_HOME + export JAVA_HOME=%{javahome} + export ANT_HOME=%{_datadir}/ant + ant -Dant.jar=%{_javadir}/ant.jar basic anttask + +# target all require Sun Java Wireless Toolkit +popd + +%{javadoc_bin} -d apidocs \ + -source 1.5 \ + -classpath classes \ + -encoding iso-8859-1 \ + $(find src -name '*.java') + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +mkdir -p %{buildroot}%{_javadir}/proguard + +install -p -m 644 lib/proguard.jar \ + %{buildroot}%{_javadir}/proguard/proguard-%{version}.jar +install -p -m 644 lib/proguardgui.jar \ + %{buildroot}%{_javadir}/proguard/proguardgui-%{version}.jar +install -p -m 644 lib/retrace.jar \ + %{buildroot}%{_javadir}/proguard/retrace-%{version}.jar + +( + cd %{buildroot}%{_javadir}/proguard + for jar in *-%{version}*; do + ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"` + done +) + +mkdir -p %{buildroot}%{_bindir} +install -m 755 %{SOURCE4} %{buildroot}%{_bindir}/proguard +install -m 755 %{SOURCE5} %{buildroot}%{_bindir}/proguard-gui +install -m 755 %{SOURCE6} %{buildroot}%{_bindir}/retrace + +mkdir -p %{buildroot}%{_javadocdir}/proguard-%{version} +cp -pr apidocs/* %{buildroot}%{_javadocdir}/proguard-%{version} +ln -sf proguard-%{version} %{buildroot}%{_javadocdir}/proguard + +mkdir -p %{buildroot}%{_datadir}/applications + +cat > proguard-gui.desktop << _GIL +[Desktop Entry] +Name=ProGuard +Comment=Java class file shrinker, optimizer, obfuscator and preverifier +Exec=proguard-gui +Terminal=false +Type=Application +Icon=proguard +Categories=Development;Java; +_GIL + +desktop-file-install --mode=644 --dir=%{buildroot}%{_datadir}/applications proguard-gui.desktop + +convert docs/favicon.ico proguard.png + +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps +install -pm 644 proguard-0.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/proguard.png +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/32x32/apps +install -pm 644 proguard-1.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/proguard.png +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/16x16/apps +install -pm 644 proguard-2.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/proguard.png + +mkdir -p %{buildroot}%{_datadir}/pixmaps + +ln -sf ../icons/hicolor/32x32/apps/proguard.png \ + %{buildroot}%{_datadir}/pixmaps/proguard.png + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +%{_bindir}/proguard +%{_bindir}/retrace +%dir %{_javadir}/proguard +%{_javadir}/proguard/proguard-%{version}.jar +%{_javadir}/proguard/proguard.jar +%{_javadir}/proguard/retrace-%{version}.jar +%{_javadir}/proguard/retrace.jar +%doc README docs/license.html + +%post gui +touch --no-create %{_datadir}/icons/hicolor +if [ -x /usr/bin/gtk-update-icon-cache ]; then + gtk-update-icon-cache -q %{_datadir}/icons/hicolor +fi + +%postun gui +touch --no-create %{_datadir}/icons/hicolor +if [ -x /usr/bin/gtk-update-icon-cache ]; then + gtk-update-icon-cache -q %{_datadir}/icons/hicolor +fi + +%files gui +%defattr(-,root,root) +%{_bindir}/proguard-gui +%{_javadir}/proguard/proguardgui-%{version}.jar +%{_javadir}/proguard/proguardgui.jar +%{_datadir}/applications/proguard-gui.desktop +%{_datadir}/icons/hicolor/*x*/apps/proguard.png +%{_datadir}/pixmaps/proguard.png + +%files javadoc +%defattr(-,root,root) +%{_javadocdir}/proguard-%{version} +%{_javadocdir}/proguard + +%files manual +%defattr(-,root,root) +%doc docs examples + +%changelog +* Mon Jan 17 2011 gil 4.5.1-1mamba +- update to 4.5.1 + +* Wed Jun 02 2010 gil 4.4-2mamba +- rebuilt with sun-java 6u20 + +* Wed Dec 16 2009 gil 4.4-1mamba +- update to 4.4 + +* Wed Apr 15 2009 gil 4.3-1mamba +- package created by autospec diff --git a/proguard-gui-script b/proguard-gui-script new file mode 100644 index 0000000..15afc12 --- /dev/null +++ b/proguard-gui-script @@ -0,0 +1,15 @@ +#!/bin/bash +#. /usr/share/java-utils/java-functions + +unset JAVA_HOME +export JAVA_HOME=/usr/lib/jvm/jdk-openjdk +JAVA=$JAVA_HOME/bin/java + +MAIN_CLASS=proguard.gui.ProGuardGUI + +#set_classpath "proguard" + +#run "$@" + +CP=$(build-classpath proguard) +$JAVA -cp $CP $MAIN_CLASS diff --git a/proguard-retrace-script b/proguard-retrace-script new file mode 100644 index 0000000..53d0ff9 --- /dev/null +++ b/proguard-retrace-script @@ -0,0 +1,15 @@ +#!/bin/bash +#. /usr/share/java-utils/java-functions + +unset JAVA_HOME +export JAVA_HOME=/usr/lib/jvm/jdk-openjdk +JAVA=$JAVA_HOME/bin/java + +MAIN_CLASS=proguard.retrace.ReTrace + +#set_classpath "proguard" + +#run "$@" + +CP=$(build-classpath proguard) +$JAVA -cp $CP $MAIN_CLASS \ No newline at end of file diff --git a/proguard-script b/proguard-script new file mode 100644 index 0000000..d3322af --- /dev/null +++ b/proguard-script @@ -0,0 +1,15 @@ +#!/bin/bash +#. /usr/share/java-utils/java-functions + +unset JAVA_HOME +export JAVA_HOME=/usr/lib/jvm/jdk-openjdk +JAVA=$JAVA_HOME/bin/java + +MAIN_CLASS=proguard.ProGuard + +#set_classpath "proguard" + +#run "$@" + +CP=$(build-classpath proguard) +$JAVA -cp $CP $MAIN_CLASS \ No newline at end of file diff --git a/proguard.png b/proguard.png new file mode 100644 index 0000000000000000000000000000000000000000..138e1875dcf3e18f15d2d7b3bf9a286c416e588f GIT binary patch literal 2450 zcmX|D2UL^E77n3=E=^hh=^`}*P!Kk>03k|O+JX=zKnNfu^cEr@p%(>&H58=n_RX_!dSr*|18!sTiD1@TC-+kx3nKN_e+;hKkX71eYn<0C;yGV#Ci-JHP30D-- z8?dmSLs$ry{lL3d0V8zrj0+O<<7a0p&XWL-NE|945wNI#hVv92@za?cXCDFBfAFB0 z&n12!knlrSr2V8emDRAD@^8RF~b=i2OPr(10gzj2ME(C?8SNaxxR9tJx%&8^Yn zRr&&r%p2U!=^u@biIFJ5uaMbnwszyJ8E2^5j5EyED|*^zlBj{U)5a{Gj9zr^Wg=<5 z&^NT1n|*zK$nl8@Oug=_HFNJyIYMv*;#liQd|}0hEA7 zxO$YJgK)8eQfT&wBF{_vwm`?M52s~2WF(VJqtUoek0-oKu#ziw`g=G{wzs$ULE=YA zLU8$XV1J<7UN^!SIR0&a!-AlzjFC2+B?3`^QRMA?Gk80aRXjTCI3HyJq^^Tnujkd$ExWoeq}; zZe}C-p-G2h2yih|Jf5ZDGY8{ZF}-k6GW`yp)on(9LFj{VM0;;$mrSJvucdf^LK$LB5I9*dSe4z$Srz()#H zeVf@)CR52~Rt&4ApO}~kl;?G{V0{}VGgHOK$EU8baRS(+yN8DoAEgkZ2uknlF9(HO z+e)J_)Ejqp#gQq#_dk2dIib}nQK8w{YPLB)khfkEsZ>Q}<)`1+3{xvBGT{4qf*eSx z5|;MAa6$JXMqbdr<{3^|&PR(llIejB4;O+!AkXj0k_8e5Re*#5<)>w$_2gIk*1r^< zxa3}UoiEH7?=kc>_Qbb(pQvk_`nzK0D2*|2M7!Gc1dj`v$hEz!S40Yfi!hS@wT}SZ zvzz_M)!-aN3`u*7brlyE=LxZ!>g8>V1Ch7zubl0a0d!<=~-TuHIu39%@4GA9Dh9#ZSXMd>0?yP>Vf z^tR38bOmh7`o@Oom!WR0>M44Up|*_3JMJz*eApqagz6u(RXmp4wD2KE`-ednk7a~@ zJDkQ3n*7Lxxyk-IGcH8UIB4>J!3>m&Y}m7&X6rXDB5 z`tGXbSw|`rAm^ow3}{A1hMs(J=*p?HZ21)O)z||{4p`!-}Hs)?uHunLoOa1yuS~MRl zJ{sC?wD>!7ux`Tse&K^XVL%JdPF!i1Nnv@*=?JKOig9K}%L6$Y9UYx~pJ2Gm{m_n2 zez-K*k41J^DDp9q9GAfQ@sP_D&|Qgt`{qfRD@*v-2)fNRQKL|yM#tH8eDc_JeierKLkquAa-Si9G(jG&)xESA0gsuP=!gf~%&(9d-JjZ{no3 z-qW7ve`>l4RnCjAZwIB3T3UvdVwaVbLG$dScL{?iu-tGPP6J%jf(#^vE03_Q6kz@&-NQ8P>wM>dyh4X>lym{kUKdp;Tv@RRX z3v}u$V-NAZuE~X`48$&xumP!@6+UMdmwiKeb+ahz zsQjtDvLKH}gbt%SxO&@ZO)Wk(wGdEVfJl<&2b5+#bccv@`5l1y9ll+!)IV6b(_$Bs zLsrIrmtRZWURRp>$ZdYxap$FufyLPN&>d8X7Cpq8d?J12GohC$j+L9`?%jc*Xk*LL z9NaaNcVPl56P0bxbAt-Y05$^;8~%%PKyI>F2b*)ey(9ZEikQ;q-mW!m>7}4@zw{;$ z13Y_M>K9D@7_3YMk#ifwPm;PL9~W3_@g7%*J(9Q)(>dtSx~0V{r* zQcmxBR^jwRk=(9|LD9(UgCi9&_~7_sll#D*Mu*_!Pq>tT#SpMYVZa1}!(diMFmoeQ zi*qpeX}HB{GcyBV0fTXe-dFt(5OX;U7oPTiz)2&Rg%Rx3IaAZq7C@-!e*x!R;^YAU N$koXm+3gTY`VSd|ab5rb literal 0 HcmV?d00001 diff --git a/proguardgui.png b/proguardgui.png new file mode 100644 index 0000000000000000000000000000000000000000..5fbd8d0746fff7a7137b18b8f8b40bb430d5fcf2 GIT binary patch literal 3511 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 JPDHLkV1jJfBF_K- literal 0 HcmV?d00001