70eb7fa
Name:             avro
1f53175
Version:          1.7.6
8bc3d46
Release:          2%{?dist}
70eb7fa
Summary:          Data serialization system
70eb7fa
License:          ASL 2.0
70eb7fa
URL:              http://avro.apache.org
70eb7fa
1f53175
# svn export http://svn.apache.org/repos/asf/avro/tags/release-1.7.6/ avro-1.7.6
1f53175
# find avro-1.7.6/ -name '*.jar' -delete -or -name '*.dll' -print -delete
1f53175
# tar cJf avro-1.7.6-CLEAN.tar.xz avro-1.7.6
70eb7fa
Source0:          avro-%{version}-CLEAN.tar.xz
1f53175
Patch0:           avro-1.7.6-ipc-changes-for-jetty-upgrade.patch
1f53175
Patch1:           avro-1.7.6-jdk8.patch
70eb7fa
70eb7fa
BuildArch:        noarch
70eb7fa
Stanislav Ochotnicky e8e25db
BuildRequires:    maven-local
71608e6
BuildRequires:    mvn(com.thoughtworks.paranamer:paranamer)
Marek Goldmann ec581fb
BuildRequires:    mvn(io.netty:netty:3)
71608e6
BuildRequires:    mvn(org.apache.hadoop:hadoop-client)
71608e6
BuildRequires:    mvn(org.apache.maven:maven-project)
71608e6
BuildRequires:    mvn(org.apache.maven.plugins:maven-checkstyle-plugin)
1f53175
BuildRequires:    mvn(org.apache.maven.plugins:maven-plugin-plugin)
71608e6
BuildRequires:    mvn(org.apache.thrift:libthrift)
71608e6
BuildRequires:    mvn(org.codehaus.jackson:jackson-core-asl)
71608e6
BuildRequires:    mvn(org.codehaus.jackson:jackson-mapper-asl)
71608e6
BuildRequires:    mvn(org.codehaus.mojo:javacc-maven-plugin)
71608e6
BuildRequires:    mvn(org.eclipse.jetty:jetty-server)
71608e6
BuildRequires:    mvn(org.eclipse.jetty:jetty-servlet)
71608e6
BuildRequires:    mvn(org.eclipse.jetty:jetty-util)
71608e6
BuildRequires:    mvn(org.slf4j:slf4j-api)
71608e6
BuildRequires:    mvn(org.slf4j:slf4j-simple)
1f53175
BuildRequires:    mvn(org.tukaani:xz)
71608e6
BuildRequires:    mvn(org.xerial.snappy:snappy-java)
70eb7fa
70eb7fa
%description
70eb7fa
Apache Avro is a data serialization system.
70eb7fa
70eb7fa
Avro provides:
70eb7fa
70eb7fa
* Rich data structures.
70eb7fa
* A compact, fast, binary data format.
70eb7fa
* A container file, to store persistent data.
70eb7fa
* Remote procedure call (RPC).
70eb7fa
* Simple integration with dynamic languages. Code generation is not required
70eb7fa
  to read or write data files nor to use or implement RPC protocols. Code
70eb7fa
  generation as an optional optimization, only worth implementing for
70eb7fa
  statically typed languages.
4ac3c9d
71608e6
%package compiler
71608e6
Summary:          Apache Avro Compiler
71608e6
71608e6
%description  compiler
71608e6
Avro Compilers for Avro IDL and Avro Specific Java API
4ac3c9d
4ac3c9d
%package ipc
4ac3c9d
Summary:          Apache Avro IPC
4ac3c9d
4ac3c9d
%description  ipc
4ac3c9d
Avro inter-process communication components
4ac3c9d
4ac3c9d
%package mapred
4ac3c9d
Summary:          Apache Avro Mapred API
4ac3c9d
Requires:         hadoop-client
4ac3c9d
Requires:         hadoop-mapreduce
4ac3c9d
4ac3c9d
%description  mapred
71608e6
An org.apache.hadoop.mapred compatible API
71608e6
for using Avro Serialization in Hadoop
71608e6
71608e6
%package maven-plugin
71608e6
Summary:          Apache Avro Maven Plugin
71608e6
71608e6
%description  maven-plugin
71608e6
Avro Maven plugin for Avro IDL and Specific API Compilers
71608e6
71608e6
%package parent
71608e6
Summary:          Apache Avro Java parent POM
71608e6
71608e6
%description  parent
71608e6
Avro parent POM Java project
4ac3c9d
4ac3c9d
%package protobuf
4ac3c9d
Summary:          Apache Avro Protobuf Compatibility
4ac3c9d
4ac3c9d
%description  protobuf
4ac3c9d
Permit serialization of Protobuf-generated classes as Avro data.
4ac3c9d
4ac3c9d
%package thrift
4ac3c9d
Summary:          Apache Avro Thrift Compatibility
4ac3c9d
4ac3c9d
%description  thrift
4ac3c9d
Permit serialization of Thrift-generated classes as Avro data.
70eb7fa
71608e6
%package toplevel
71608e6
Summary:          Apache Avro Toplevel POM
71608e6
71608e6
%description  toplevel
71608e6
Apache Avro Toplevel POM
71608e6
71608e6
%package trevni
71608e6
Summary:          Trevni Java
71608e6
Requires:         avro-mapred
71608e6
71608e6
%description  trevni
71608e6
Trevni: A Column File Format
71608e6
70eb7fa
%package javadoc
71608e6
Summary:          Javadoc for %{name}
70eb7fa
70eb7fa
%description javadoc
70eb7fa
This package contains the API documentation for %{name}.
70eb7fa
70eb7fa
%prep
70eb7fa
%setup -q
70eb7fa
%patch0 -p1
Marek Goldmann 4474154
%patch1 -p1
70eb7fa
71608e6
# Unsupported features
71608e6
%pom_disable_module archetypes lang/java
71608e6
71608e6
%pom_disable_module tools lang/java
71608e6
71608e6
%pom_xpath_set pom:properties/pom:hadoop2.version 2.0.5-alpha lang/java
71608e6
%pom_xpath_set pom:properties/pom:jetty.version 9.0.3.v20130506 lang/java
71608e6
%pom_xpath_set pom:properties/pom:jetty-servlet-api.version 3.1.0 lang/java
71608e6
%pom_change_dep -r :junit-dep :junit lang/java
4ac3c9d
Marek Goldmann ec581fb
# Use netty 3 compat package
71608e6
%pom_xpath_set pom:properties/pom:netty.version 3 lang/java
Marek Goldmann ec581fb
4ac3c9d
# Remove panamer plugin for test jar generation
71608e6
%pom_remove_plugin com.thoughtworks.paranamer:paranamer-maven-plugin lang/java/avro
4ac3c9d
1f53175
# package org.tukaani.xz does not exist
1f53175
%pom_add_dep org.tukaani:xz lang/java/avro
1f53175
4ac3c9d
# Need explicit maven-artifact declaration
71608e6
%pom_add_dep org.apache.maven:maven-artifact lang/java/maven-plugin
4ac3c9d
4ac3c9d
# Remove ipc tests from mapred
71608e6
%pom_remove_dep :avro-ipc lang/java/mapred
71608e6
%pom_add_dep org.apache.avro:avro-ipc:%{version} lang/java/mapred
4ac3c9d
1f53175
# Disable default-jar execution of maven-jar-plugin, which is causing
1f53175
# problems with version 3.0.0 of the plugin.
1f53175
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-jar-plugin']/pom:executions/pom:execution[pom:id = 'main']" lang/java/mapred
1f53175
for mod in mapred trevni/avro; do
1f53175
    %pom_xpath_inject "pom:plugin[pom:artifactId='maven-jar-plugin']/pom:executions" "
1f53175
        <execution>
1f53175
          <id>default-jar</id>
1f53175
          <phase>skip</phase>
1f53175
        </execution>" lang/java/${mod}
1f53175
done
1f53175
 
4ac3c9d
%mvn_package ":trevni-doc"  __noinstall
71608e6
%mvn_package ":trevni-avro" trevni
71608e6
%mvn_package ":trevni-core" trevni
71608e6
%mvn_package ":trevni-java" trevni
71608e6
%mvn_package ":trevni-avro::hadoop2:" trevni
71608e6
%mvn_package ":avro-mapred::hadoop2:" avro-mapred
4ac3c9d
70eb7fa
%build
4ac3c9d
71608e6
%mvn_build -sf -- -Dhadoop.version=2 -P hadoop2 -Dcheckstyle.skip=true
70eb7fa
70eb7fa
%install
4ac3c9d
%mvn_install
4ac3c9d
71608e6
%files -f .mfiles-avro
71608e6
%doc README.txt
71608e6
%license LICENSE.txt NOTICE.txt
4ac3c9d
71608e6
%files compiler -f .mfiles-avro-compiler
71608e6
%license LICENSE.txt NOTICE.txt
71608e6
71608e6
%files ipc -f .mfiles-avro-ipc
71608e6
%license LICENSE.txt NOTICE.txt
71608e6
71608e6
%files mapred -f .mfiles-avro-mapred
71608e6
%license LICENSE.txt NOTICE.txt
4ac3c9d
71608e6
%files maven-plugin -f .mfiles-avro-maven-plugin
71608e6
%license LICENSE.txt NOTICE.txt
4ac3c9d
71608e6
%files parent -f .mfiles-avro-parent
71608e6
%license LICENSE.txt NOTICE.txt
4ac3c9d
71608e6
%files protobuf -f .mfiles-avro-protobuf
71608e6
%license LICENSE.txt NOTICE.txt
4ac3c9d
71608e6
%files thrift -f .mfiles-avro-thrift
71608e6
%license LICENSE.txt NOTICE.txt
71608e6
71608e6
%files toplevel -f .mfiles-avro-toplevel
71608e6
%license LICENSE.txt NOTICE.txt
71608e6
71608e6
%files trevni -f .mfiles-trevni
71608e6
%license LICENSE.txt NOTICE.txt
4ac3c9d
4ac3c9d
%files javadoc -f .mfiles-javadoc
71608e6
%license LICENSE.txt NOTICE.txt
70eb7fa
70eb7fa
%changelog
8bc3d46
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.6-2
8bc3d46
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
8bc3d46
1f53175
* Mon Aug 01 2016 gil cattaneo <puntogil@libero.it> - 1.7.6-1
1f53175
- update to 1.7.6
1f53175
70caebd
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.5-13
70caebd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
70caebd
71608e6
* Sun Sep 20 2015 gil cattaneo <puntogil@libero.it> - 1.7.5-12
71608e6
- fix FTBFS rhbz#1239381
71608e6
- add sub package maven-plugin rhbz#1119277,1170178
71608e6
- fix BR list and use BR mvn()-like
71608e6
- introduce license macro
71608e6
- fix some rpmlint problems
71608e6
ca26fcc
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.5-11
ca26fcc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
ca26fcc
71608e6
* Tue Apr 21 2015 Peter Robinson <pbrobinson@fedoraproject.org> - 1.7.5-10
b4ee1fd
- Hadoop is now on ARM
b4ee1fd
71608e6
* Fri Sep 12 2014 Peter Robinson <pbrobinson@fedoraproject.org> - 1.7.5-9
2bd7281
- No hadoop on ARM (yet)
2bd7281
b13fcd4
* Sun Jun 29 2014 Ricardo Arguello <ricardo@fedoraproject.org> - 1.7.5-8
b13fcd4
- Fix to compile with OpenJDK 8
b13fcd4
2032966
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.5-7
2032966
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
2032966
71608e6
* Sun Mar 30 2014 Ricardo Arguello <ricardo@fedoraproject.org> - 1.7.5-6
0536830
- Add a patch to build with OpenJDK 8
0536830
ef6f2b3
* Fri Mar 28 2014 Michael Simacek <msimacek@redhat.com> - 1.7.5-5
ef6f2b3
- Use Requires: java-headless rebuild (#1067528)
ef6f2b3
Marek Goldmann ec581fb
* Mon Jan 27 2014 Marek Goldmann <mgoldman@redhat.com> - 1.7.5-4
Marek Goldmann ec581fb
- Use netty 3 compat package, RHBZ#1053466
Marek Goldmann ec581fb
Marek Goldmann 655c856
* Fri Nov 29 2013 Marek Goldmann <mgoldman@redhat.com> - 1.7.5-3
Marek Goldmann 655c856
- Do not ship avro-mapred on ARM since hadoop is not available there (yet)
Marek Goldmann 655c856
Marek Goldmann 4474154
* Thu Nov 28 2013 Marek Goldmann <mgoldman@redhat.com> - 1.7.5-2
Marek Goldmann 4474154
- Support for new hadoop
Marek Goldmann 4474154
4ac3c9d
* Mon Oct 14 2013 Peter MacKinnon <pmackinn@redhat.com> - 1.7.5-1
4ac3c9d
- Updated to 1.7.5
4ac3c9d
- Add mapred (hadoop2), ipc, trevni, thrift, protobuf artifacts
4ac3c9d
02c904e
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.2-7
02c904e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
02c904e
4186108
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.2-6
4186108
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
4186108
Stanislav Ochotnicky e8e25db
* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 1.6.2-5
Stanislav Ochotnicky e8e25db
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
Stanislav Ochotnicky e8e25db
- Replace maven BuildRequires with maven-local
Stanislav Ochotnicky e8e25db
5ed0bfd
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.2-4
5ed0bfd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
5ed0bfd
b13fcd4
* Tue Mar 13 2012 Ricardo Arguello <ricardo@fedoraproject.org> - 1.6.2-3
70eb7fa
- Remove *.dll files from source tarball
70eb7fa
- Include license file
70eb7fa
b13fcd4
* Tue Mar 6 2012 Ricardo Arguello <ricardo@fedoraproject.org> - 1.6.2-2
70eb7fa
- Cleanup of the spec file
70eb7fa
b13fcd4
* Tue Feb 21 2012 Marek Goldmann <mgoldman@redhat.com> - 1.6.2-1
70eb7fa
- Initial packaging