diff --git a/.byteman.metadata b/.byteman.metadata new file mode 100644 index 0000000..dcc67c1 --- /dev/null +++ b/.byteman.metadata @@ -0,0 +1 @@ +03f0c66ab7285f0e604417f0ee85527dc17ed291 SOURCES/373601b4e608ea622b2fec947824b99cd0edb124.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3dc47db --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/373601b4e608ea622b2fec947824b99cd0edb124.tar.gz diff --git a/SPECS/byteman.spec b/SPECS/byteman.spec new file mode 100644 index 0000000..5b7e6f7 --- /dev/null +++ b/SPECS/byteman.spec @@ -0,0 +1,172 @@ +%global homedir %{_datadir}/%{name} +%global bindir %{homedir}/bin +%global hash 373601b4e608ea622b2fec947824b99cd0edb124 +%global __requires_exclude ^mvn\(.*\)$ + +Name: byteman +Version: 2.1.4.1 +Release: 3%{?dist} +Summary: Java agent-based bytecode injection tool +License: LGPLv2+ +URL: http://www.jboss.org/byteman +Source0: https://github.com/bytemanproject/byteman/archive/%{hash}.tar.gz + +BuildArch: noarch + +BuildRequires: jpackage-utils +BuildRequires: javapackages-tools +BuildRequires: java-devel +BuildRequires: maven-local +BuildRequires: maven-shade-plugin +BuildRequires: maven-failsafe-plugin +BuildRequires: maven-jar-plugin +BuildRequires: maven-surefire-plugin +BuildRequires: maven-surefire-provider-testng +BuildRequires: maven-surefire-provider-junit4 +BuildRequires: maven-verifier-plugin +BuildRequires: java_cup +BuildRequires: jarjar +BuildRequires: objectweb-asm +BuildRequires: junit4 +BuildRequires: testng + +Requires: jpackage-utils +Requires: java-devel + +# Bundled at build time +Provides: bundled(java_cup) = 1:0.11a-16 +Provides: bundled(objectweb-asm) = 0:3.3.1-9 + +%description +Byteman is a tool which simplifies tracing and testing of Java programs. +Byteman allows you to insert extra Java code into your application, +either as it is loaded during JVM startup or even after it has already +started running. The injected code is allowed to access any of your data +and call any application methods, including where they are private. +You can inject code almost anywhere you want and there is no need to +prepare the original source code in advance nor do you have to recompile, +repackage or redeploy your application. In fact you can remove injected +code and reinstall different code while the application continues to execute. + +%package javadoc +Summary: Javadocs for %{name} + +%description javadoc +This package contains the API documentation for %{name}. + +%prep +%setup -q -n byteman-%{hash} + +# Fix the gid:aid for java_cup +sed -i "s|net.sf.squirrel-sql.thirdparty-non-maven|java_cup|" agent/pom.xml +sed -i "s|java-cup|java_cup|" agent/pom.xml + +# com.sun:tools dependency has scope "system", which should not used +# in RHEL. +%pom_remove_dep com.sun:tools + +%pom_xpath_inject "pom:plugin[pom:artifactId = 'maven-javadoc-plugin']/pom:configuration" "\${doclintparam}" +%pom_xpath_inject "pom:profiles" " + disable-java-8-doclint + + [1.8,) + + + -Xdoclint:none + + " + +%build +%mvn_build + +%install +%mvn_install + +install -d -m 755 $RPM_BUILD_ROOT%{_bindir} + +install -d -m 755 $RPM_BUILD_ROOT%{homedir} +install -d -m 755 $RPM_BUILD_ROOT%{homedir}/lib +install -d -m 755 $RPM_BUILD_ROOT%{bindir} + +install -m 755 bin/bmsubmit.sh $RPM_BUILD_ROOT%{bindir}/bmsubmit +install -m 755 bin/bminstall.sh $RPM_BUILD_ROOT%{bindir}/bminstall +install -m 755 bin/bmjava.sh $RPM_BUILD_ROOT%{bindir}/bmjava +install -m 755 bin/bmcheck.sh $RPM_BUILD_ROOT%{bindir}/bmcheck + +for f in bmsubmit bmjava bminstall bmcheck; do +cat > $RPM_BUILD_ROOT%{_bindir}/${f} << EOF +#!/bin/sh + +export BYTEMAN_HOME=/usr/share/byteman +export JAVA_HOME=/usr/lib/jvm/java + +\$BYTEMAN_HOME/bin/${f} \$* +EOF +done + +chmod 755 $RPM_BUILD_ROOT%{_bindir}/* + +for m in bmunit dtest install sample submit; do + ln -s %{_javadir}/byteman/byteman-${m}.jar $RPM_BUILD_ROOT%{homedir}/lib/byteman-${m}.jar +done + +ln -s %{_javadir}/byteman/byteman.jar $RPM_BUILD_ROOT%{homedir}/lib/byteman.jar + +%files -f .mfiles +%dir %{_javadir}/%{name} +%{homedir}/* +%{_bindir}/* +%doc README docs/ProgrammersGuide.pdf docs/copyright.txt + +%files javadoc -f .mfiles-javadoc +%doc docs/copyright.txt + +%changelog +* Mon Jul 02 2018 Severin Gehwolf - 2.1.4.1-3 +- Allow rebuild with JDK-8. + +* Wed Jun 06 2018 Severin Gehwolf - 2.1.4.1-2 +- Don't filter provides. Update bundled java_cup and + asm versions. + +* Wed May 30 2018 Severin Gehwolf - 2.1.4.1-1 +- Rebase to version 2.1.4.1. Resolves RHBZ#1408898. + +* Fri Dec 27 2013 Daniel Mach - 2.0.4-5 +- Mass rebuild 2013-12-27 + +* Wed Nov 13 2013 Mikolaj Izdebski - 2.0.4-4 +- Remove system-scoped dependency on tools.jar + +* Thu Apr 25 2013 Marek Goldmann - 2.0.4-3 +- Fixes to the launch scripts + +* Wed Apr 24 2013 Marek Goldmann - 2.0.4-2 +- Added bmsubmit, bminstall and bmjava scripts, RHBZ#951560 + +* Thu Feb 21 2013 Marek Goldmann - 2.0.4-1 +- Upstream release 2.0.4 +- Switched to Maven +- Bundling java_cup and objectweb-asm (fpc#226) + +* Wed Feb 13 2013 Fedora Release Engineering - 1.5.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 1.5.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 12 2012 Fedora Release Engineering - 1.5.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Sep 20 2011 Marek Goldmann 1.5.2-3 +- Removed binary files from src.rpm + +* Mon Sep 19 2011 Marek Goldmann 1.5.2-2 +- Cleaned spec file + +* Wed Jul 27 2011 Marek Goldmann 1.5.2-1 +- Upstream release: 1.5.2 + +* Thu Jul 21 2011 Marek Goldmann 1.5.1-1 +- Initial packaging +