diff --git a/emma-2.0.5312-64_bit_fix.patch b/emma-2.0.5312-64_bit_fix.patch new file mode 100644 index 0000000..6db6d0b --- /dev/null +++ b/emma-2.0.5312-64_bit_fix.patch @@ -0,0 +1,26 @@ +diff -up ./core/java12/com/vladium/emma/instr/InstrVisitor.java.64bitfix ./core/java12/com/vladium/emma/instr/InstrVisitor.java +--- ./core/java12/com/vladium/emma/instr/InstrVisitor.java.64bitfix 2004-07-16 18:32:28.000000000 -0400 ++++ ./core/java12/com/vladium/emma/instr/InstrVisitor.java 2008-12-10 09:37:04.000000000 -0500 +@@ -1435,6 +1435,7 @@ final class InstrVisitor extends Abstrac + */ + void emit (final EmitCtx ctx, final byte [] code) // TODO: move 'code' into 'ctx' + { ++ synchronized(Block.class) { + final ByteArrayOStream out = ctx.m_out; + final int first = m_first; + +@@ -1450,6 +1451,7 @@ final class InstrVisitor extends Abstrac + + if (m_branch != null) + m_branch.emit (ctx); ++ } + } + + public CodeSegment m_insertion; +@@ -2206,4 +2208,4 @@ final class InstrVisitor extends Abstrac + private static final byte [] EMPTY_BYTE_ARRAY = new byte [0]; + + } // end of class +-// ---------------------------------------------------------------------------- +\ No newline at end of file ++// ---------------------------------------------------------------------------- diff --git a/emma-2.0.5312-build_xml.patch b/emma-2.0.5312-build_xml.patch new file mode 100644 index 0000000..18ed5de --- /dev/null +++ b/emma-2.0.5312-build_xml.patch @@ -0,0 +1,32 @@ +--- build.xml.orig 2005-06-12 19:20:56.000000000 +0200 ++++ build.xml 2007-07-06 09:09:57.000000000 +0200 +@@ -108,7 +108,7 @@ + + + +- ++ + + + +@@ -509,6 +509,20 @@ + command="-t rtag -r ${cvs.branch.label} -d -a ${cvs.ready.label} ${app.short.name}" /> + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + diff --git a/emma-2.0.5312-dependencies_xml.patch b/emma-2.0.5312-dependencies_xml.patch new file mode 100644 index 0000000..16fbf85 --- /dev/null +++ b/emma-2.0.5312-dependencies_xml.patch @@ -0,0 +1,17 @@ +--- dependencies.xml.orig 2006-01-24 18:43:37.000000000 +0100 ++++ dependencies.xml 2006-01-24 18:43:53.000000000 +0100 +@@ -5,12 +5,12 @@ + + + +- ++ + + + + +- ++ + + + diff --git a/emma-2.0.5312-java15api.patch b/emma-2.0.5312-java15api.patch new file mode 100644 index 0000000..e7a28ba --- /dev/null +++ b/emma-2.0.5312-java15api.patch @@ -0,0 +1,13 @@ +diff --git a/core/java12/com/vladium/emma/rt/InstrClassLoader.java b/core/java12/com/vladium/emma/rt/InstrClassLoader.java +index 4ea4f80..2c14287 100644 +--- a/core/java12/com/vladium/emma/rt/InstrClassLoader.java ++++ b/core/java12/com/vladium/emma/rt/InstrClassLoader.java +@@ -343,7 +343,7 @@ final class InstrClassLoader extends URLClassLoader + // support ProtectionDomains with non-null class source URLs: + // [however, disable anything related to sealing or signing] + +- final CodeSource csrc = new CodeSource (srcURL, null); ++ final CodeSource csrc = new CodeSource (srcURL, (java.security.cert.Certificate[]) null); + + // allow getPackage() to return non-null on the class we are about to + // define (however, don't bother emulating the original manifest info since diff --git a/emma-2.0.5312-src.zip b/emma-2.0.5312-src.zip new file mode 100644 index 0000000..115fe33 Binary files /dev/null and b/emma-2.0.5312-src.zip differ diff --git a/emma-2.0.5312.pom b/emma-2.0.5312.pom new file mode 100644 index 0000000..c70eee6 --- /dev/null +++ b/emma-2.0.5312.pom @@ -0,0 +1,7 @@ + + 4.0.0 + emma + emma + EMMA + 2.0 + diff --git a/emma-eclemma.patch b/emma-eclemma.patch new file mode 100644 index 0000000..07f4ddc --- /dev/null +++ b/emma-eclemma.patch @@ -0,0 +1,12 @@ +diff -uNr core/java12/com/vladium/logging/Logger.java core/java12/com/vladium/logging/Logger.java +--- core/java12/com/vladium/logging/Logger.java 2008-04-25 14:43:29.000000000 -0400 ++++ core/java12/com/vladium/logging/Logger.java 2008-04-25 14:43:47.000000000 -0400 +@@ -70,7 +70,7 @@ + if ((level < NONE) || (level > ALL)) + throw new IllegalArgumentException ("invalid log level: " + level); + +- if ((out == null) || out.checkError ()) ++ if (out == null) + throw new IllegalArgumentException ("null or corrupt input: out"); + + return new Logger (level, out, prefix, classMask); diff --git a/emma-timestamp.patch b/emma-timestamp.patch new file mode 100644 index 0000000..107b56d --- /dev/null +++ b/emma-timestamp.patch @@ -0,0 +1,20 @@ +--- build.xml 2008-04-25 16:29:49.000000000 -0400 ++++ build.xml 2008-04-25 16:28:16.000000000 -0400 +@@ -141,8 +141,16 @@ + + + ++ ++ + +- ++ ++ ++ ++ ++ ++ ++ + + + diff --git a/emma-timestamp.sh b/emma-timestamp.sh new file mode 100644 index 0000000..87b9e88 --- /dev/null +++ b/emma-timestamp.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +echo -n "app.build.id=" > $1 +var=`echo "($(date +%Y) - 2001) * 12 + $(date +%m)" | bc` +var2=`echo "$var*100 + 25" | bc` +echo $var2 >> $1 +echo "app.build.date=`date +\"%Y/%m/%d %T\"`" >> $1 diff --git a/emma-timestamp2.sh b/emma-timestamp2.sh new file mode 100644 index 0000000..d557435 --- /dev/null +++ b/emma-timestamp2.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +echo $(date +%s) > $1 diff --git a/emma.spec b/emma.spec new file mode 100644 index 0000000..1e8e4f1 --- /dev/null +++ b/emma.spec @@ -0,0 +1,66 @@ +%global shortver 2.0 +Summary: Code Coverage Tool +Name: emma +Version: %{shortver}.5312 +Release: 1 +Epoch: 0 +License: CPL +URL: http://emma.sourceforge.net/ +Source0: http://downloads.sourceforge.net/emma/emma-%{version}-src.zip +Source1: emma-2.0.5312.pom +Source2: emma_ant-2.0.5312.pom +Source3: emma-timestamp.sh +Source4: emma-timestamp2.sh +Patch0: emma-2.0.5312-dependencies_xml.patch +Patch1: emma-2.0.5312-build_xml.patch +Patch2: emma-2.0.5312-java15api.patch +Patch3: %{name}-eclemma.patch +Patch4: %{name}-timestamp.patch +Patch5: %{name}-%{version}-64_bit_fix.patch +Requires: jaxp_parser_impl +BuildRequires: ant >= 0:1.6.5 java-devel >= 0:1.6 jpackage-utils >= 0:1.7.5-1jpp.3 bc +BuildRequires: javapackages-local +BuildArch: noarch +%description +EMMA is an open-source toolkit for measuring and reporting Java +code coverage. EMMA distinguishes itself from other tools by going +after a unique feature combination: support for large-scale +enterprise software development while keeping individual developer's +work fast and iterative. + +%package javadoc +Summary: Javadoc for %{name} +%description javadoc +%{summary}. + +%prep +%setup -q +cp -p %{SOURCE3} . +cp -p %{SOURCE4} . +rm lib/internal/stamptool.jar +%patch0 -b .orig +%patch1 -b .orig +%patch2 -p1 -b .orig +%patch3 -b .orig +%patch4 -b .orig +%patch5 -b .orig + +%build +[ -z "$JAVA_HOME" ] && export JAVA_HOME=%{_jvmdir}/java +ant -Dbuild.compiler=modern build javadoc + +%install +%mvn_artifact %{SOURCE1} dist/%{name}.jar +%mvn_artifact %{SOURCE2} dist/%{name}_ant.jar +%mvn_install -J out/javadocs/ + +%files -f .mfiles +%doc cpl-v10.html +%dir %{_javadir}/%{name} + +%files javadoc -f .mfiles-javadoc +%doc cpl-v10.html + +%changelog +* Fri Aug 14 2020 Anan Fu - %{shortver}.5312-1 +- package init diff --git a/emma.spec.old b/emma.spec.old new file mode 100644 index 0000000..efec7f0 --- /dev/null +++ b/emma.spec.old @@ -0,0 +1,216 @@ +# Copyright (c) 2000-2007, JPackage Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the +# distribution. +# 3. Neither the name of the JPackage Project nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +%global shortver 2.0 + +Summary: Code Coverage Tool +Name: emma +Version: %{shortver}.5312 +Release: 22%{?dist} +Epoch: 0 +License: CPL +URL: http://emma.sourceforge.net/ +Source0: http://downloads.sourceforge.net/emma/%{name}-%{version}-src.zip +Source1: emma-2.0.5312.pom +Source2: emma_ant-2.0.5312.pom +# These are hacks until we get the source for the timestamping class +# http://sourceforge.net/tracker/index.php?func=detail&aid=1953619&group_id=108932&atid=651900 +Source3: emma-timestamp.sh +Source4: emma-timestamp2.sh + +Patch0: emma-2.0.5312-dependencies_xml.patch +Patch1: emma-2.0.5312-build_xml.patch +# Taken from Gentoo package to allow us to build on a JDK > 1.4 +Patch2: emma-2.0.5312-java15api.patch +# From eclemma's emmapatch directory +Patch3: %{name}-eclemma.patch +# This is a hack until we get the source for the timestamping class +# http://sourceforge.net/tracker/index.php?func=detail&aid=1953619&group_id=108932&atid=651900 +Patch4: %{name}-timestamp.patch +# This patch fixes ArrayIndexOutOfBoundExceptions on 64-bit. I modified +# the patch against HEAD to apply to this version -- overholt +# http://sourceforge.net/tracker/index.php?func=detail&aid=2119913&group_id=108932&atid=651897 +Patch5: %{name}-%{version}-64_bit_fix.patch +Requires: jaxp_parser_impl +BuildRequires: ant >= 0:1.6.5 +BuildRequires: java-devel >= 0:1.6 +BuildRequires: jpackage-utils >= 0:1.7.5-1jpp.3 +# For the timestamp hack (see above) +BuildRequires: bc +BuildRequires: javapackages-local + + +BuildArch: noarch + +%description +EMMA is an open-source toolkit for measuring and reporting Java +code coverage. EMMA distinguishes itself from other tools by going +after a unique feature combination: support for large-scale +enterprise software development while keeping individual developer's +work fast and iterative. + +%package javadoc +Summary: Javadoc for %{name} + +%description javadoc +%{summary}. + +%prep +%setup -q +cp -p %{SOURCE3} . +cp -p %{SOURCE4} . + +# Make sure we don't use this no-source jar +rm lib/internal/stamptool.jar + +%patch0 -b .orig +%patch1 -b .orig +%patch2 -p1 -b .orig +%patch3 -b .orig +%patch4 -b .orig +%patch5 -b .orig + +%build +[ -z "$JAVA_HOME" ] && export JAVA_HOME=%{_jvmdir}/java +ant -Dbuild.compiler=modern build javadoc + +%install +%mvn_artifact %{SOURCE1} dist/%{name}.jar +%mvn_artifact %{SOURCE2} dist/%{name}_ant.jar + +# JAVADOCS +%mvn_install -J out/javadocs/ + +%files -f .mfiles +%doc cpl-v10.html +%dir %{_javadir}/%{name} + +%files javadoc -f .mfiles-javadoc +%doc cpl-v10.html + +%changelog +* Thu Jan 31 2019 Fedora Release Engineering - 0:2.0.5312-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 0:2.0.5312-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 0:2.0.5312-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0:2.0.5312-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0:2.0.5312-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 0:2.0.5312-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 0:2.0.5312-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Jul 02 2014 Marek Goldmann - 0:2.0.5312-15 +- Switch to new guidelines + +* Sat Jun 07 2014 Fedora Release Engineering - 0:2.0.5312-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Mar 28 2014 Michael Simacek - 0:2.0.5312-13 +- Use Requires: java-headless rebuild (#1067528) + +* Wed Aug 07 2013 gil cattaneo 0:2.0.5312-12 +- fix rhbz#992213 +- update ant references in emma_ant pom file (gId only) +- minor changes to adapt to current guideline + +* Sat Aug 03 2013 Fedora Release Engineering - 0:2.0.5312-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Feb 13 2013 Fedora Release Engineering - 0:2.0.5312-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 0:2.0.5312-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 0:2.0.5312-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 0:2.0.5312-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Nov 26 2010 Stanislav Ochotnicky - 0:2.0.5312-6 +- Fix pom filenames (Resolves rhbz#655797) +- Make few tweaks according to new guidelines +- Make jar unversioned + +* Mon Jul 12 2010 Andrew Overholt 0:2.0.5312-5 +- Ensure license is also in -javadoc package + +* Fri Jul 24 2009 Fedora Release Engineering - 0:2.0.5312-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Feb 24 2009 Fedora Release Engineering - 0:2.0.5312-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Dec 10 2008 Andrew Overholt 0:2.0.5312-2 +- Add patch to fix 64-bit AIOOB. + +* Wed Jul 9 2008 Tom "spot" Callaway - 2.0.5312-1 +- drop repotag +- fix version, release to be sane + +* Mon Jul 07 2008 Andrew Overholt 2.0-0.5312.2jpp.4 +- Remove requirement on maven2 as jpackage-utils now owns the maven POMs + and fragments directories. + +* Fri May 30 2008 Andrew Overholt 2.0-0.5312.2jpp.3 +- Bump release because I forgot to add a source file. + +* Wed May 28 2008 Andrew Overholt 2.0-0.5312.2jpp.2 +- Review (rhbz#444511) fixes: '-' in permissions, maven2 requirement, + file ownership of maven stuff, require OpenJDK. + +* Fri Apr 25 2008 Andrew Overholt 0:2.0-0.5312.2jpp.1 +- Fedora-ify (remove Vendor, Distribution, javadoc %%post{,un}, license + -> "CPL", add 1.%%{?dist} to release, change groups to shut up rpmlint, + remove %%section free). +- Remove gnu-crypto requirement for GCJ. +- Copy patch from Gentoo build for 1.5 API changes. +- Add hacks to avoid having to use no-source class during build. + +* Fri Jul 06 2007 Ralph Apel 0:2.0-0.5312.2jpp +- Make Vendor, Distribution based on macro +- Add -javadoc subpackage +- Add gcj_support option +- Add poms and depmap frags + +* Wed Feb 01 2006 Ralph Apel 0:2.0-0.5312.1jpp +- First JPackage release. diff --git a/emma.yaml b/emma.yaml new file mode 100644 index 0000000..1eeca6b --- /dev/null +++ b/emma.yaml @@ -0,0 +1,4 @@ +version_control: http://emma.sourceforge.net/ +src_repo: http://downloads.sourceforge.net/emma/ +tag_prefix: "^" +seperator: "." diff --git a/emma_ant-2.0.5312.pom b/emma_ant-2.0.5312.pom new file mode 100644 index 0000000..a60362a --- /dev/null +++ b/emma_ant-2.0.5312.pom @@ -0,0 +1,14 @@ + + 4.0.0 + emma + emma_ant + EMMA Ant + 2.0 + + + org.apache.ant + ant + 1.6.5 + + +