diff --git a/.gitignore b/.gitignore index acc83fa..8b2baed 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,3 @@ /4.0.3.tar.gz /4.0.4.tar.gz /4.0.5.tar.gz -/4.0.15.tar.gz -/4.0.16.tar.gz -/4.0.26.tar.gz diff --git a/byteman.spec b/byteman.spec index 6cbe24c..969f43e 100644 --- a/byteman.spec +++ b/byteman.spec @@ -14,49 +14,47 @@ %global bindir %{homedir}/bin Name: byteman -Version: 4.0.26 -Release: 1%{?dist} +Version: 4.0.5 +Release: 3%{?dist} Summary: Java agent-based bytecode injection tool -# Automatically converted from old format: LGPLv2+ - review is highly recommended. -License: LicenseRef-Callaway-LGPLv2+ +License: LGPLv2+ URL: http://www.jboss.org/byteman -# wget -O 4.0.16.tar.gz https://github.com/bytemanproject/byteman/archive/4.0.16.tar.gz +# wget -O 4.0.5.tar.gz https://github.com/bytemanproject/byteman/archive/4.0.5.tar.gz Source0: https://github.com/bytemanproject/byteman/archive/%{version}.tar.gz BuildArch: noarch -ExclusiveArch: %{java_arches} noarch # Byteman 4.x requires JDK 9+ to build. Require JDK 10 explicitly. -BuildRequires: java-25-devel >= 1:11 -BuildRequires: maven-local-openjdk25 +BuildRequires: java-11-openjdk-devel +BuildRequires: maven-local BuildRequires: maven-shade-plugin BuildRequires: maven-source-plugin BuildRequires: maven-plugin-plugin -BuildRequires: maven-bundle-plugin +BuildRequires: maven-plugin-bundle BuildRequires: maven-assembly-plugin BuildRequires: maven-failsafe-plugin BuildRequires: maven-jar-plugin BuildRequires: maven-surefire-plugin BuildRequires: maven-surefire-provider-testng BuildRequires: maven-surefire-provider-junit -BuildRequires: maven-surefire-provider-junit5 BuildRequires: maven-verifier-plugin BuildRequires: maven-dependency-plugin BuildRequires: java_cup +BuildRequires: jarjar BuildRequires: objectweb-asm BuildRequires: junit -BuildRequires: junit5 BuildRequires: testng +# JBoss modules byteman plugin requires it +BuildRequires: mvn(org.jboss.modules:jboss-modules) -Provides: bundled(objectweb-asm) = 9.1 -Provides: bundled(java_cup) = 1:0.11b-17 +Provides: bundled(objectweb-asm) = 7.0 +Provides: bundled(java_cup) = 1:0.11b-8 # We are filtering java-headless >= 1:1.9 requirement. Add # JDK 8 requirement here explicitly which shouldn't match the filter. -Requires: java-25-headless >= 1:1.8 +Requires: java-headless >= 1:1.8 # Related pieces removed via pom_xpath_remove macros Patch1: remove_submit_integration_test_verification.patch -Patch2: testng7_port.patch %description Byteman is a tool which simplifies tracing and testing of Java programs. @@ -108,8 +106,7 @@ sed -i "s|java-cup|java_cup|" tests/pom.xml # Remove Submit integration test invocations (agent) %pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-failsafe-plugin']/pom:executions/pom:execution[pom:id='submit.TestSubmit']" agent %pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-failsafe-plugin']/pom:executions/pom:execution[pom:id='submit.TestSubmit.compiled']" agent -%patch -P1 -p2 -%patch -P2 -p2 +%patch1 -p2 # Remove Submit integration test invocations (tests) %pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-failsafe-plugin']/pom:executions/pom:execution[pom:id='submit.TestSubmit']" tests @@ -125,37 +122,28 @@ sed -i "s|java-cup|java_cup|" tests/pom.xml %pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-surefire-plugin']/pom:executions" contrib/bmunit %pom_xpath_set "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-surefire-plugin']/pom:configuration" 'true' contrib/bmunit -# source/target 1.6 is not supported by 17; default is now 1.8 -%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:source" pom.xml -%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:target" pom.xml - # Don't build download, docs modules %pom_disable_module download - +%pom_disable_module docs # Don't use javadoc plugin, use XMvn for javadocs %pom_remove_plugin -r :maven-javadoc-plugin -%pom_remove_plugin -r :central-publishing-maven-plugin -%pom_remove_dep 'org.apache.maven:maven-project' contrib/rulecheck-maven-plugin %pom_xpath_remove 'pom:execution[pom:id="make-javadoc-assembly"]' byteman # Put byteman-rulecheck-maven-plugin into a separate package %mvn_package ":byteman-rulecheck-maven-plugin" rulecheck-maven-plugin - -# CNFE being thrown without this for bmunit5 in rawhide and with tests enabled -%pom_add_dep "org.apache.commons:commons-lang3" contrib/bmunit5 # Put byteman-bmunit/byteman-dtest into a separate packages since they # runtime require junit %mvn_package ":byteman-bmunit" bmunit %mvn_package ":byteman-dtest" dtest %build -export JAVA_HOME=/usr/lib/jvm/java-openjdk +export JAVA_HOME=/usr/lib/jvm/java-11-openjdk # Use --xmvn-javadoc so as to avoid maven-javadoc-plugin issue # (fixed in 3.1.0, fedora has 3.0.1): # See https://issues.apache.org/jira/browse/MJAVADOC-555 # https://bugs.openjdk.java.net/browse/JDK-8212233 -%mvn_build --xmvn-javadoc -f +%mvn_build --xmvn-javadoc %install %mvn_install @@ -222,4 +210,131 @@ ln -s %{_javadir}/byteman/byteman.jar $RPM_BUILD_ROOT%{homedir}/lib/byteman.jar %{homedir}/lib/byteman-dtest.jar %changelog -%autochangelog +* Mon May 06 2019 Severin Gehwolf - 4.0.5-3 +- Use XMvn javadoc so as to work-around maven-javadoc-plugin issue. +- Fixes FTBFS. + +* Thu Jan 31 2019 Fedora Release Engineering - 4.0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Nov 21 2018 Severin Gehwolf - 4.0.5-1 +- Update to latest upstream 4.0.5 release. + +* Thu Jul 12 2018 Fedora Release Engineering - 4.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jul 10 2018 Severin Gehwolf - 4.0.4-1 +- Update to latest upstream 4.0.4 release. +- Split junit-dependent packages into sub-packages: + byteman-dtest, byteman-bmunit +- Fix automatically generated requirements: + - ASM is BR-only and bundled. + - java-headless >= 1:1.9 would get generated, but byteman 4.x + runs on JDK 8 too (would even work for JDK 6) + +* Thu Jul 05 2018 Severin Gehwolf - 4.0.3-2 +- Don't use maven-javadoc-plugin. Use XMvn instead. + +* Tue Jul 03 2018 Severin Gehwolf - 4.0.3-1 +- Update to latest upstream 4.0.3 release. + +* Fri Apr 27 2018 Severin Gehwolf - 4.0.2-1 +- Update to latest upstream 4.0.2 release. +- Adds support for modular JDKs. + +* Wed Feb 07 2018 Fedora Release Engineering - 3.0.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 3.0.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 3.0.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Dec 09 2016 Severin Gehwolf - 3.0.6-2 +- Add BRs, maven-plugin-bundle, maven-source-plugin and + maven-plugin-plugin, fixing FTBFS. +- Resolves: RHBZ#1402998 + +* Mon Jun 13 2016 Severin Gehwolf - 3.0.6-1 +- Update to latest upstream release. + +* Mon Mar 14 2016 Severin Gehwolf - 3.0.4-2 +- Enable some tests during build +- Fix generated requires by filtering requires for bundled libs. +- Split maven plugin into separate package. + +* Thu Feb 18 2016 Severin Gehwolf - 3.0.4-1 +- Update to latest upstream 3.0.4 release. + +* Wed Feb 03 2016 Fedora Release Engineering - 2.1.4.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Aug 06 2015 gil cattaneo 2.1.4.1-7 +- Fix FTBFS rhbz#1239392 +- Remove duplicate files +- Introduce license macro + +* Wed Jun 17 2015 Fedora Release Engineering - 2.1.4.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Feb 27 2015 Michal Srb - 2.1.4.1-5 +- Fix FTBFS +- Rebuild to generate new metadata + +* Sat Jun 07 2014 Fedora Release Engineering - 2.1.4.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Apr 18 2014 Marek Goldmann - 2.1.4.1-3 +- Rebuilding for objectweb-asm update, RHBZ#1083570 + +* Fri Mar 28 2014 Michael Simacek - 2.1.4.1-2 +- Use Requires: java-headless rebuild (#1067528) + +* Fri Feb 14 2014 Marek Goldmann - 2.1.4.1-1 +- Upstream release 2.1.4.1 + +* Sat Aug 03 2013 Fedora Release Engineering - 2.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Jul 04 2013 Marek Goldmann - 2.1.2-1 +- Upstream release 2.1.2 + +* Wed Jun 5 2013 Mikolaj Izdebski - 2.0.4-5 +- Remove tools.jar from dependencyManagement + +* Wed May 29 2013 Marek Goldmann - 2.0.4-4 +- New guidelines + +* 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 + diff --git a/sources b/sources index 1a074db..a32d102 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (4.0.26.tar.gz) = 06c8bf688d237d8dbac1e4558a8e2916f1212d2746d81a64e8bc44f9074f5b1c205bb98ac3a8e835f0c8b225df665e40c93c8b60ff5ff77f6ce8272c25679d76 +SHA512 (4.0.5.tar.gz) = 2a9bd3d19ccfe2208c791422fc7bb89c2c322779c5ce4b917b50a9ec131ed23ca78f374e6e3c457774a06934446019a92ad4aea6402757ab6a82e8d6dd3afae7 diff --git a/testng7_port.patch b/testng7_port.patch deleted file mode 100644 index 16e43e9..0000000 --- a/testng7_port.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/byteman-4.0.15/contrib/bmunit/src/org/jboss/byteman/contrib/bmunit/BMNGListener.java b/byteman-4.0.15/contrib/bmunit/src/org/jboss/byteman/contrib/bmunit/BMNGListener.java -index 2f784bc..9e4fec9 100644 ---- a/byteman-4.0.15/contrib/bmunit/src/org/jboss/byteman/contrib/bmunit/BMNGListener.java -+++ b/byteman-4.0.15/contrib/bmunit/src/org/jboss/byteman/contrib/bmunit/BMNGListener.java -@@ -61,7 +61,7 @@ public class BMNGListener extends BMNGAbstractRunner implements IInvokedMethodLi - } - - public void beforeInvocation(IInvokedMethod method, ITestResult testResult) { -- Method javaMethod = method.getTestMethod().getMethod(); -+ Method javaMethod = method.getTestMethod().getConstructorOrMethod().getMethod(); - Class clazz = javaMethod.getDeclaringClass(); - if (!checkBMNGListener(clazz)) { - return; -@@ -81,7 +81,7 @@ public class BMNGListener extends BMNGAbstractRunner implements IInvokedMethodLi - } - - public void afterInvocation(IInvokedMethod method, ITestResult testResult) { -- Method javaMethod = method.getTestMethod().getMethod(); -+ Method javaMethod = method.getTestMethod().getConstructorOrMethod().getMethod(); - Class clazz = javaMethod.getDeclaringClass(); - if (!checkBMNGListener(clazz)) { - return; diff --git a/tests/smoke/test-smoke.sh b/tests/smoke/test-smoke.sh deleted file mode 100644 index 24e4322..0000000 --- a/tests/smoke/test-smoke.sh +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/bash -# -set -e - -############################################################## -# -# Test 1: bmjava -# -############################################################## -test1_dir=$(mktemp -d) -pushd $test1_dir -##### -## The Java program under test (via bmjava) -##### -cat > HelloWait.java < trace1.btm < out1.log -grep -q "argument was: World!" out1.log -grep -q "Hello bar" out1.log -output=$(tail -n1 out1.log) -if [ ! "${output}_" == "Hello bar_" ]; then - echo Test FAILED! - exit 1 -fi - -echo Test 1 PASSED! - -popd -rm -rf $test1_dir - - -############################################################## -# -# Test 2: bminstall + bmsubmit -# -############################################################## -test2_dir=$(mktemp -d) -pushd $test2_dir -##### -## The Java program under test -##### -cat > HelloWait.java < out2.log 2>&1 & -pid_of_java=$$ -echo "Forked java process with pid $pid_of_java" -sleep 2 -##### -## The byteman rule(s) (used via bmsubmit) -##### -cat > change_arg.btm < throw_excptn.btm <