summaryrefslogtreecommitdiffstats
path: root/infinispan.spec
blob: 65440aed13a3279b29aaf5eb0386357acec439ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
%global namedreltag .FINAL
%global namedversion %{version}%{?namedreltag}

Name:             infinispan
Version:          5.1.2
Release:          6%{?dist}
Summary:          Data grid platform
Group:            Development/Libraries
License:          LGPLv2+
URL:              http://www.jboss.org/infinispan

# git clone git://github.com/infinispan/infinispan.git
# cd infinispan/ && git archive --format=tar --prefix=infinispan-5.1.2.FINAL/ 5.1.2.FINAL | xz > infinispan-5.1.2.FINAL.tar.xz
Source0:          %{name}-%{namedversion}.tar.xz

# Removes some of modules not necessary at this point
Patch0:           %{name}-%{namedversion}-pom.patch
# Adds support for new avro library
Patch1:           %{name}-%{namedversion}-avro.patch

BuildArch:        noarch

BuildRequires:    apache-commons-math
BuildRequires:    apache-commons-pool
BuildRequires:    avro
BuildRequires:    c3p0
BuildRequires:    java-devel
BuildRequires:    jcip-annotations
BuildRequires:    jboss-logging-tools
BuildRequires:    jboss-marshalling
BuildRequires:    jboss-naming
BuildRequires:    jboss-transaction-1.1-api
BuildRequires:    jgroups >= 3.0.3
BuildRequires:    jpackage-utils
BuildRequires:    maven-local
BuildRequires:    maven-enforcer-plugin
BuildRequires:    maven-plugin-exec
BuildRequires:    maven-resources-plugin
BuildRequires:    maven-remote-resources-plugin
BuildRequires:    rhq-plugin-annotations
BuildRequires:    staxmapper

Requires:         apache-commons-math
Requires:         apache-commons-pool
Requires:         avro
Requires:         c3p0
Requires:         java
Requires:         jcip-annotations
Requires:         jboss-logging-tools
Requires:         jboss-marshalling
Requires:         jboss-naming
Requires:         jboss-transaction-1.1-api
Requires:         jgroups >= 3.0.3
Requires:         jpackage-utils
Requires:         staxmapper

%description
Infinispan is an extremely scalable, highly available data grid
platform - 100% open source, and written in Java. The purpose of
Infinispan is to expose a data structure that is highly concurrent,
designed ground-up to make the most of modern multi-processor/multi-core
architectures while at the same time providing distributed cache
capabilities.  At its core Infinispan exposes a Cache interface which
extends java.util.Map. It is also optionally is backed by a peer-to-peer
network architecture to distribute state efficiently around a data grid.

%package javadoc
Summary:          Javadocs for %{name}
Group:            Documentation
Requires:         jpackage-utils

%description javadoc
This package contains the API documentation for %{name}.

%prep
%setup -q -n %{name}-%{namedversion}
%patch0 -p1
%patch1 -p1

# Rename the license file
cp -r license/src/main/resources/META-INF/LICENSE.txt.vm LICENSE.txt

%build
# We don't have one of easymock package
mvn-rpmbuild -Dmaven.test.skip=true install javadoc:aggregate

%install
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}

for m in core; do
  # JAR
  install -pm 644 ${m}/target/infinispan-${m}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-${m}.jar
  # POM
  install -pm 644 ${m}/pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-%{name}-${m}.pom
  # DEPMAP
  %add_maven_depmap JPP.%{name}-%{name}-${m}.pom %{name}/%{name}-${m}.jar
done

# Cachestore modules
for m in remote jdbc; do
  # JAR
  install -pm 644 cachestore/${m}/target/infinispan-cachestore-${m}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-cachestore-${m}.jar
  # POM
  install -pm 644 cachestore/${m}/pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-%{name}-cachestore-${m}.pom
  # DEPMAP
  %add_maven_depmap JPP.%{name}-%{name}-cachestore-${m}.pom %{name}/%{name}-cachestore-${m}.jar
done

install -pm 644 client/hotrod-client/target/infinispan-client-hotrod.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-client-hotrod.jar

# POM
install -pm 644 pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-%{name}.pom
install -pm 644 parent/pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-%{name}-parent.pom
install -pm 644 client/hotrod-client/pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-%{name}-client-hotrod.pom
install -pm 644 cachestore/pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-%{name}-cachestore-parent.pom

# DEPMAP
%add_maven_depmap JPP.%{name}-%{name}.pom
%add_maven_depmap JPP.%{name}-%{name}-parent.pom
%add_maven_depmap JPP.%{name}-%{name}-cachestore-parent.pom
%add_maven_depmap JPP.%{name}-%{name}-client-hotrod.pom %{name}/%{name}-client-hotrod.jar

# APIDOCS
cp -rp target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}

%files
%{_mavenpomdir}/*
%{_mavendepmapfragdir}/*
%{_javadir}/*
%doc LICENSE.txt README.mkdn

%files javadoc
%{_javadocdir}/%{name}
%doc LICENSE.txt

%changelog
* Wed Feb 20 2013 Ricardo Arguello <ricardo@fedoraproject.org> - 5.1.2-6
- Added apache-commons-pool dependency

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 5.1.2-4
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
- Replace maven BuildRequires with maven-local

* Mon Aug 6 2012 Ricardo Arguello <ricardo@fedoraproject.org> - 5.1.2-3
- Added BR: maven-enforcer-plugin

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Thu Mar 22 2012 Ricardo Arguello <ricardo@fedoraproject.org> 5.1.2-1
- Updated to 5.1.2 from upstream
- Use JAR filenames assigned by the build
- Add license file

* Wed Mar 7 2012 Ricardo Arguello <ricardo@fedoraproject.org> 5.1.1-2
- Cleanup of the spec file

* Tue Feb 21 2012 Marek Goldmann <mgoldman@redhat.com> 5.1.1-1
- Initial packaging