Marek Goldmann 9864011
%global homedir %{_datadir}/%{name}
Marek Goldmann 9864011
%global bindir %{homedir}/bin
Marek Goldmann 07c3ffe
%global hash 373601b4e608ea622b2fec947824b99cd0edb124
Marek Goldmann 9864011
91459fe
Name:             byteman
Marek Goldmann 07c3ffe
Version:          2.1.4.1
1d1c3a5
Release:          8%{?dist}
91459fe
Summary:          Java agent-based bytecode injection tool
91459fe
License:          LGPLv2+
91459fe
URL:              http://www.jboss.org/byteman
Marek Goldmann 07c3ffe
Source0:          https://github.com/bytemanproject/byteman/archive/%{hash}.tar.gz
91459fe
91459fe
BuildArch:        noarch
91459fe
Marek Goldmann d226b27
BuildRequires:    maven-local
Marek Goldmann d226b27
BuildRequires:    maven-shade-plugin
Marek Goldmann d226b27
BuildRequires:    maven-failsafe-plugin
Marek Goldmann d226b27
BuildRequires:    maven-jar-plugin
Marek Goldmann d226b27
BuildRequires:    maven-surefire-plugin
Marek Goldmann d226b27
BuildRequires:    maven-surefire-provider-testng
ef86e6d
BuildRequires:    maven-surefire-provider-junit
Marek Goldmann d226b27
BuildRequires:    maven-verifier-plugin
91459fe
BuildRequires:    java_cup
91459fe
BuildRequires:    jarjar
ef86e6d
BuildRequires:    objectweb-asm3
ef86e6d
BuildRequires:    junit
91459fe
BuildRequires:    testng
91459fe
Marek Goldmann d226b27
# Bundling
Marek Goldmann 9864011
#BuildRequires:    java_cup = 1:0.11a-12
Marek Goldmann 9864011
#BuildRequires:    objectweb-asm = 0:3.3.1-7
Marek Goldmann 07c3ffe
Marek Goldmann 07c3ffe
%if 0%{?fedora} > 20
Marek Goldmann a5b854c
Provides:         bundled(objectweb-asm) = 0:5.0.1-1
Marek Goldmann a5b854c
Provides:         bundled(java_cup) = 1:0.11a-16
Marek Goldmann 07c3ffe
%else
Marek Goldmann 07c3ffe
Provides:         bundled(objectweb-asm) = 0:3.3.1-8
Marek Goldmann a5b854c
Provides:         bundled(java_cup) = 1:0.11a-15
Marek Goldmann 07c3ffe
%endif
Marek Goldmann d226b27
91459fe
%description
91459fe
Byteman is a tool which simplifies tracing and testing of Java programs.
91459fe
Byteman allows you to insert extra Java code into your application,
91459fe
either as it is loaded during JVM startup or even after it has already
91459fe
started running. The injected code is allowed to access any of your data
91459fe
and call any application methods, including where they are private.
91459fe
You can inject code almost anywhere you want and there is no need to
91459fe
prepare the original source code in advance nor do you have to recompile,
91459fe
repackage or redeploy your application. In fact you can remove injected
91459fe
code and reinstall different code while the application continues to execute.
91459fe
91459fe
%package javadoc
016d0f4
Summary:          Javadoc for %{name}
91459fe
91459fe
%description javadoc
91459fe
This package contains the API documentation for %{name}.
91459fe
91459fe
%prep
Marek Goldmann 07c3ffe
%setup -q -n byteman-%{hash}
016d0f4
# Fix doclint problem
016d0f4
%pom_xpath_inject  "pom:plugin[pom:artifactId = 'maven-javadoc-plugin']/pom:configuration" "<additionalparam>-Xdoclint:none</additionalparam>"
91459fe
Marek Goldmann d226b27
# Fix the gid:aid for java_cup
Marek Goldmann d226b27
sed -i "s|net.sf.squirrel-sql.thirdparty-non-maven|java_cup|" agent/pom.xml
Marek Goldmann d226b27
sed -i "s|java-cup|java_cup|" agent/pom.xml
91459fe
ef86e6d
# org.jboss.byteman:byteman-download requires "-sources" and "-javadoc" artifacts
ef86e6d
%mvn_package ':::{sources,javadoc}:' __default
ef86e6d
51d4ec3
# Remove tools.jar from dependencyManagement (Fedora-specific patch).
51d4ec3
# In Fedora tools.jar doesn't need to use system scope or provide
51d4ec3
# systemPath - Maven will find it anyways.
51d4ec3
%pom_remove_dep com.sun:tools
51d4ec3
91459fe
%build
Marek Goldmann d226b27
%mvn_build
91459fe
91459fe
%install
Marek Goldmann d8d67da
%mvn_install
Marek Goldmann d8d67da
Marek Goldmann 9864011
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
91459fe
Marek Goldmann 9864011
install -d -m 755 $RPM_BUILD_ROOT%{homedir}
Marek Goldmann 9864011
install -d -m 755 $RPM_BUILD_ROOT%{homedir}/lib
Marek Goldmann 9864011
install -d -m 755 $RPM_BUILD_ROOT%{bindir}
Marek Goldmann 9864011
Marek Goldmann 9864011
install -m 755 bin/bmsubmit.sh $RPM_BUILD_ROOT%{bindir}/bmsubmit
Marek Goldmann 9864011
install -m 755 bin/bminstall.sh  $RPM_BUILD_ROOT%{bindir}/bminstall
Marek Goldmann 9864011
install -m 755 bin/bmjava.sh  $RPM_BUILD_ROOT%{bindir}/bmjava
Marek Goldmann 9864011
install -m 755 bin/bmcheck.sh  $RPM_BUILD_ROOT%{bindir}/bmcheck
Marek Goldmann 9864011
Marek Goldmann 9864011
for f in bmsubmit bmjava bminstall bmcheck; do
Marek Goldmann 9864011
cat > $RPM_BUILD_ROOT%{_bindir}/${f} << EOF
Marek Goldmann 9864011
#!/bin/sh
Marek Goldmann 9864011
Marek Goldmann 9864011
export BYTEMAN_HOME=/usr/share/byteman
Marek Goldmann a6df699
export JAVA_HOME=/usr/lib/jvm/java
Marek Goldmann 9864011
Marek Goldmann a6df699
\$BYTEMAN_HOME/bin/${f} \$*
Marek Goldmann 9864011
EOF
Marek Goldmann 9864011
done
Marek Goldmann 9864011
Marek Goldmann 9864011
chmod 755 $RPM_BUILD_ROOT%{_bindir}/*
Marek Goldmann 9864011
Marek Goldmann 9864011
for m in bmunit dtest install sample submit; do
Marek Goldmann 9864011
  ln -s %{_javadir}/byteman/byteman-${m}.jar $RPM_BUILD_ROOT%{homedir}/lib/byteman-${m}.jar
Marek Goldmann 9864011
done
Marek Goldmann 9864011
Marek Goldmann 9864011
ln -s %{_javadir}/byteman/byteman.jar $RPM_BUILD_ROOT%{homedir}/lib/byteman.jar
Marek Goldmann 9864011
Marek Goldmann d8d67da
%files -f .mfiles
Marek Goldmann 9864011
%{homedir}/*
Marek Goldmann 9864011
%{_bindir}/*
016d0f4
%doc README docs/ProgrammersGuide.pdf
016d0f4
%license docs/copyright.txt
91459fe
Marek Goldmann d8d67da
%files javadoc -f .mfiles-javadoc
016d0f4
%license docs/copyright.txt
91459fe
91459fe
%changelog
1d1c3a5
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.4.1-8
1d1c3a5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
1d1c3a5
016d0f4
* Thu Aug 06 2015 gil cattaneo <puntogil@libero.it> 2.1.4.1-7
016d0f4
- Fix FTBFS rhbz#1239392
016d0f4
- Remove duplicate files
016d0f4
- Introduce license macro
016d0f4
4478207
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.4.1-6
4478207
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
4478207
ef86e6d
* Fri Feb 27 2015 Michal Srb <msrb@redhat.com> - 2.1.4.1-5
ef86e6d
- Fix FTBFS
ef86e6d
- Rebuild to generate new metadata
ef86e6d
1a62147
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.4.1-4
1a62147
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
1a62147
Marek Goldmann a5b854c
* Fri Apr 18 2014 Marek Goldmann <mgoldman@redhat.com> - 2.1.4.1-3
Marek Goldmann a5b854c
- Rebuilding for objectweb-asm update, RHBZ#1083570
Marek Goldmann a5b854c
69ae543
* Fri Mar 28 2014 Michael Simacek <msimacek@redhat.com> - 2.1.4.1-2
69ae543
- Use Requires: java-headless rebuild (#1067528)
69ae543
Marek Goldmann 07c3ffe
* Fri Feb 14 2014 Marek Goldmann <mgoldman@redhat.com> - 2.1.4.1-1
Marek Goldmann 07c3ffe
- Upstream release 2.1.4.1
Marek Goldmann 07c3ffe
a93d595
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.2-2
a93d595
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
a93d595
Marek Goldmann 6a95492
* Thu Jul 04 2013 Marek Goldmann <mgoldman@redhat.com> - 2.1.2-1
Marek Goldmann 6a95492
- Upstream release 2.1.2
Marek Goldmann 6a95492
51d4ec3
* Wed Jun  5 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.0.4-5
51d4ec3
- Remove tools.jar from dependencyManagement
51d4ec3
Marek Goldmann d8d67da
* Wed May 29 2013 Marek Goldmann <mgoldman@redhat.com> - 2.0.4-4
Marek Goldmann d8d67da
- New guidelines
Marek Goldmann d8d67da
Marek Goldmann a6df699
* Thu Apr 25 2013 Marek Goldmann <mgoldman@redhat.com> - 2.0.4-3
Marek Goldmann a6df699
- Fixes to the launch scripts
Marek Goldmann a6df699
Marek Goldmann 9864011
* Wed Apr 24 2013 Marek Goldmann <mgoldman@redhat.com> - 2.0.4-2
Marek Goldmann 9864011
- Added bmsubmit, bminstall and bmjava scripts, RHBZ#951560
Marek Goldmann 9864011
Marek Goldmann d226b27
* Thu Feb 21 2013 Marek Goldmann <mgoldman@redhat.com> - 2.0.4-1
Marek Goldmann d226b27
- Upstream release 2.0.4
Marek Goldmann d226b27
- Switched to Maven
Marek Goldmann d226b27
- Bundling java_cup and objectweb-asm (fpc#226)
Marek Goldmann d226b27
9699f6e
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.2-6
9699f6e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
9699f6e
78671ac
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.2-5
78671ac
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
78671ac
cec89db
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.2-4
cec89db
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
cec89db
91459fe
* Tue Sep 20 2011 Marek Goldmann <mgoldman@redhat.com> 1.5.2-3
91459fe
- Removed binary files from src.rpm
91459fe
91459fe
* Mon Sep 19 2011 Marek Goldmann <mgoldman@redhat.com> 1.5.2-2
91459fe
- Cleaned spec file
91459fe
91459fe
* Wed Jul 27 2011 Marek Goldmann <mgoldman@redhat.com> 1.5.2-1
91459fe
- Upstream release: 1.5.2
91459fe
91459fe
* Thu Jul 21 2011 Marek Goldmann <mgoldman@redhat.com> 1.5.1-1
91459fe
- Initial packaging
91459fe