Summary: A code manipulation tool to implement adaptable systems
-Summary(pl): Narzêdzie do obróbki kodu do implementowania systemów adaptacyjnych
+Summary(pl.UTF-8): Narzędzie do obróbki kodu do implementowania systemów adaptacyjnych
Name: asm2
-Version: 2.1
-Release: 0.1
+Version: 2.2.3
+Release: 1
License: BSD-style
Group: Development/Languages/Java
Source0: http://download.forge.objectweb.org/asm/asm-%{version}.tar.gz
-# Source0-md5: dfd62160a88f13e236f9da7d2485c9ec
+# Source0-md5: 7a92c87bf067925685cf68dcc0dd8998
Source1: http://asm.objectweb.org/current/asm-eng.pdf
# Source1-md5: 5f17bfac3563feb108793575f74ce27c
Source2: http://asm.objectweb.org/doc/faq.html
-# Source2-md5: 556c0df057bced41517491784d556acc
+# Source2-md5: cca9b825cf4398addb909bd1fa217a70
URL: http://asm.objectweb.org/
-BuildRequires: jakarta-ant
+BuildRequires: ant
+BuildRequires: jpackage-utils
BuildRequires: objectweb-anttask
+BuildRequires: rpm-javaprov
+BuildRequires: rpmbuild(macros) >= 1.300
+Requires: jpackage-utils
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
ASM is a code manipulation tool to implement adaptable systems.
-%description -l pl
-ASM to narzêdzie do obróbki kodu do implementowania systemów
+%description -l pl.UTF-8
+ASM to narzędzie do obróbki kodu do implementowania systemów
adaptacyjnych.
%package javadoc
Summary: Javadoc for %{name}
-Summary(pl): Dokumentacja javadoc dla pakietu %{name}
+Summary(pl.UTF-8): Dokumentacja javadoc dla pakietu %{name}
Group: Documentation
+Requires: jpackage-utils
%description javadoc
Javadoc for %{name}.
-%description javadoc -l pl
+%description javadoc -l pl.UTF-8
Dokumentacja javadoc dla pakietu %{name}.
%prep
%setup -q -n asm-%{version}
-find . -name "*.jar" -exec rm -f {} \;
+find -name '*.jar' | xargs rm -vf
install -m 644 %{SOURCE1} .
install -m 644 %{SOURCE2} .
+install -d test/lib
+
%build
-ant -Dobjectweb.ant.tasks.path=$(build-classpath objectweb-anttask) jar jdoc
+export LC_ALL=en_US # source not in ASCII
+%ant jar jdoc \
+ -Dobjectweb.ant.tasks.path=$(build-classpath objectweb-anttask)
%install
rm -rf $RPM_BUILD_ROOT
# jars
install -d $RPM_BUILD_ROOT%{_javadir}/%{name}
-for jar in output/dist/lib/*.jar; do
- newjar=$(echo $jar | sed /asm-/asm2-/)
- install ${jar} $RPM_BUILD_ROOT%{_javadir}/%{name}/`basename ${newjar}`
-done
-
-cd $RPM_BUILD_ROOT%{_javadir}/%{name}
-for jar in *-%{version}*; do
- ln -sf ${jar} $(echo $jar | sed -e s/-%{version}//)
+for a in output/dist/lib/*.jar; do
+ jar=${a##*/}
+ jar2=asm2-${jar#asm-}
+ cp -a output/dist/lib/$jar $RPM_BUILD_ROOT%{_javadir}/$jar2
+ ln -s $jar2 $RPM_BUILD_ROOT%{_javadir}/${jar2%%-%{version}.jar}.jar
done
-cd -
# javadoc
install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr output/dist/doc/javadoc/user/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
-cd $RPM_BUILD_ROOT%{_javadocdir}
-ln -sf %{name}-%{version} %{name}
+ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
%clean
rm -rf $RPM_BUILD_ROOT
%post javadoc
-rm -f %{_javadocdir}/%{name}
-ln -s %{name}-%{version} %{_javadocdir}/%{name}
-
-%postun javadoc
-if [ $1 -eq 0 ]; then
- rm -f %{_javadocdir}/%{name}
-fi
+ln -sf %{name}-%{version} %{_javadocdir}/%{name}
%files
%defattr(644,root,root,755)
%doc README.txt faq.html asm-eng.pdf
-%dir %{_javadir}/%{name}
-%{_javadir}/%{name}/*.jar
+%{_javadir}/*.jar
%files javadoc
%defattr(644,root,root,755)
-%dir %{_javadocdir}/%{name}-%{version}
-%{_javadocdir}/%{name}-%{version}/*
-%ghost %dir %{_javadocdir}/%{name}
+%{_javadocdir}/%{name}-%{version}
+%ghost %{_javadocdir}/%{name}