2 # - build from source, see e.g.:
3 # http://pkgs.fedoraproject.org/cgit/byteman.git/plain/byteman.spec
6 %include /usr/lib/rpm/macros.java
7 Summary: Java agent-based bytecode injection tool
8 Summary(pl.UTF-8): Oparte na agencie narzędzie do wstrzykiwania kodu dla Javy
13 Group: Development/Languages/Java
14 #Source0Download: https://www.jboss.org:443/byteman/downloads.html
15 Source0: http://downloads.jboss.org/byteman/%{version}/byteman-download-%{version}-full.zip
16 # Source0-md5: c704769662f4dd06233dc659f2d24329
17 URL: http://www.jboss.com/byteman/
18 # this is needed for the LC_ALL=en_US in build part dependency
19 %if %(locale -a | grep -q '^en_US$'; echo $?)
20 #BuildRequires: glibc-localedb-all
22 BuildRequires: jpackage-utils
23 BuildRequires: rpm-javaprov
24 BuildRequires: rpmbuild(macros) >= 1.300
25 # to build from source:
26 #BuildRequires: jarjar
27 #BuildRequires: java_cup
28 #BuildRequires: javapackages-tools
30 #BuildRequires: junit4
31 #BuildRequires: maven-failsafe-plugin
32 #BuildRequires: maven-jar-plugin
33 #BuildRequires: maven-local
34 #BuildRequires: maven-shade-plugin
35 #BuildRequires: maven-surefire-plugin
36 #BuildRequires: maven-surefire-provider-junit4
37 #BuildRequires: maven-surefire-provider-testng
38 #BuildRequires: maven-verifier-plugin
39 #BuildRequires: objectweb-asm
40 #BuildRequires: testng
41 Requires: jpackage-utils
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 Byteman is a tool which simplifies tracing and testing of Java
47 programs. Byteman allows you to insert extra Java code into your
48 application, either as it is loaded during JVM startup or even after
49 it has already started running. The injected code is allowed to access
50 any of your data and call any application methods, including where
51 they are private. You can inject code almost anywhere you want and
52 there is no need to prepare the original source code in advance nor do
53 you have to recompile, repackage or redeploy your application. In fact
54 you can remove injected code and reinstall different code while the
55 application continues to execute.
57 %description -l pl.UTF-8
58 Byteman to narzędzie upraszczajace śledzenie i testowanie programów w
59 Javie. Pozwala wstawić dodatkowy kod w Javie do aplikacji - albo w
60 trakcie wczytywania go przy uruchamianiu JVM, albo nawet po jej
61 uruchomieniu. Wstrzyknięty kod ma dostęp do dowolnych danych i może
62 wywoływać dowolne metody aplikacji, włącznie z prywatnymi. Kod można
63 wstrzyknąć prawie wszędzie i nie ma potrzeby wcześniejszego
64 przygotowywania kodu źródłowego ani rekompilacji, ponownego
65 pakietowania ani wdrażania aplikacji. W praktyce można usunąć
66 wstrzyknięty kod i zainstalować inny kod, kiedy aplikacja cały czas
70 Summary: Javadocs for Byteman
71 Summary(pl.UTF-8): Dokumentacja w formacie javadoc do Bytemana
73 Requires: jpackage-utils
78 %description javadoc -l pl.UTF-8
79 Dokumentacja w formacie javadoc do Bytemana.
82 %setup -q -n byteman-download-%{version}
85 rm -rf $RPM_BUILD_ROOT
86 install -d $RPM_BUILD_ROOT{%{_javadir}/byteman,%{_datadir}/byteman/{bin,lib},%{_bindir}}
88 cp -p lib/byteman*.jar contrib/bmunit/byteman-bmunit.jar contrib/dtest/byteman-dtest.jar \
89 $RPM_BUILD_ROOT%{_javadir}/byteman
90 for f in $RPM_BUILD_ROOT%{_javadir}/byteman/byteman*.jar ; do
91 ln -sf %{_javadir}/$(basename $f) $RPM_BUILD_ROOT%{_datadir}/byteman/lib
93 install bin/{bmcheck,bmjava,bminstall,bmsubmit}.sh $RPM_BUILD_ROOT%{_datadir}/byteman/bin
94 for f in bmcheck bmjava bminstall bmsubmit ; do
95 cat >$RPM_BUILD_ROOT%{_bindir}/$f <<EOF
98 BYTEMAN_HOME=%{_datadir}/byteman
99 JAVA_HOME=%{_jvmdir}/java
101 \$BYTEMAN_HOME/bin/${f}.sh "\$@"
108 rm -rf $RPM_BUILD_ROOT
111 %defattr(644,root,root,755)
112 %attr(755,root,root) %{_bindir}/bmcheck
113 %attr(755,root,root) %{_bindir}/bmjava
114 %attr(755,root,root) %{_bindir}/bminstall
115 %attr(755,root,root) %{_bindir}/bmsubmit
117 %dir %{_datadir}/byteman
118 %dir %{_datadir}/byteman/bin
119 %attr(755,root,root) %{_datadir}/byteman/bin/*.sh
120 %{_datadir}/byteman/lib
124 #%defattr(644,root,root,755)
125 #%{_javadocdir}/byteman-%{version}