]> git.pld-linux.org Git - packages/byteman.git/blob - byteman.spec
- drop obsolete and outdated manual inclusion of rpm macros
[packages/byteman.git] / byteman.spec
1 # TODO:
2 # - build from source, see e.g.:
3 # http://pkgs.fedoraproject.org/cgit/byteman.git/plain/byteman.spec
4 # - javadocs
5 #
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
9 Name:           byteman
10 Version:        3.0.1
11 Release:        1
12 License:        LGPL v2+
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
21 %endif
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
29 #BuildRequires: jdk
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
42 BuildArch:      noarch
43 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
45 %description
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.
56
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
67 działa.
68
69 %package javadoc
70 Summary:        Javadocs for Byteman
71 Summary(pl.UTF-8):      Dokumentacja w formacie javadoc do Bytemana
72 Group:          Documentation
73 Requires:       jpackage-utils
74
75 %description javadoc
76 Javadocs for Byteman.
77
78 %description javadoc -l pl.UTF-8
79 Dokumentacja w formacie javadoc do Bytemana.
80
81 %prep
82 %setup -q -n byteman-download-%{version}
83
84 %install
85 rm -rf $RPM_BUILD_ROOT
86 install -d $RPM_BUILD_ROOT{%{_javadir}/byteman,%{_datadir}/byteman/{bin,lib},%{_bindir}}
87
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
92 done
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
96 #!/bin/sh
97
98 BYTEMAN_HOME=%{_datadir}/byteman
99 JAVA_HOME=%{_jvmdir}/java
100
101 \$BYTEMAN_HOME/bin/${f}.sh "\$@"
102 EOF
103 done
104
105 # TODO: javadocs
106
107 %clean
108 rm -rf $RPM_BUILD_ROOT
109
110 %files
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
116 %{_javadir}/byteman
117 %dir %{_datadir}/byteman
118 %dir %{_datadir}/byteman/bin
119 %attr(755,root,root) %{_datadir}/byteman/bin/*.sh
120 %{_datadir}/byteman/lib
121
122 # TODO
123 #%files javadoc
124 #%defattr(644,root,root,755)
125 #%{_javadocdir}/byteman-%{version}
This page took 0.173141 seconds and 3 git commands to generate.