[thrift/f19] initial import of 0.9.1-7
William Christian Benton
willb at fedoraproject.org
Mon Oct 14 17:04:47 UTC 2013
commit 922a40ba70b16a3da4d779b3b7de32d62945d78c
Author: William Benton <willb at redhat.com>
Date: Mon Oct 14 12:04:22 2013 -0500
initial import of 0.9.1-7
.gitignore | 1 +
bootstrap.sh | 46 ++++
fb303-0.9.1-buildxml.patch | 167 ++++++++++++
libfb303-0.9.1.pom | 104 ++++++++
libthrift-0.9.1.pom | 125 +++++++++
manpage.1.ex | 60 +++++
sources | 1 +
thrift-0.9.1-buildxml.patch | 246 ++++++++++++++++++
thrift-0.9.1-rebar.patch | 9 +
thrift.spec | 588 +++++++++++++++++++++++++++++++++++++++++++
10 files changed, 1347 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..8f68e6a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/0.9.1.tar.gz
diff --git a/bootstrap.sh b/bootstrap.sh
new file mode 100644
index 0000000..0c2b886
--- /dev/null
+++ b/bootstrap.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+./cleanup.sh
+if test -d lib/php/src/ext/thrift_protocol ; then
+ if phpize -v >/dev/null 2>/dev/null ; then
+ (cd lib/php/src/ext/thrift_protocol && phpize)
+ fi
+fi
+
+set -e
+
+# libtoolize is called "glibtoolize" on OSX.
+if libtoolize --version 1 >/dev/null 2>/dev/null; then
+ LIBTOOLIZE=libtoolize
+elif glibtoolize --version 1 >/dev/null 2>/dev/null; then
+ LIBTOOLIZE=glibtoolize
+else
+ echo >&2 "Couldn't find libtoolize!"
+ exit 1
+fi
+
+autoscan
+$LIBTOOLIZE --copy --automake
+aclocal -I ./aclocal
+autoheader
+autoconf
+automake --copy --add-missing --foreign
diff --git a/fb303-0.9.1-buildxml.patch b/fb303-0.9.1-buildxml.patch
new file mode 100644
index 0000000..ec51503
--- /dev/null
+++ b/fb303-0.9.1-buildxml.patch
@@ -0,0 +1,167 @@
+diff --git a/contrib/fb303/java/build.xml b/contrib/fb303/java/build.xml
+index 8f2fa51..d89f05e 100755
+--- a/contrib/fb303/java/build.xml
++++ b/contrib/fb303/java/build.xml
+@@ -17,8 +17,7 @@
+ specific language governing permissions and limitations
+ under the License.
+ -->
+-<project name="libfb303" default="dist" basedir="."
+- xmlns:artifact="antlib:org.apache.maven.artifact.ant">
++<project name="libfb303" default="dist" basedir=".">
+
+ <!-- project wide settings. All directories relative to basedir -->
+ <property name="thrift.root" location="${basedir}/../../../"/>
+@@ -26,7 +25,7 @@
+ <property name="interface.dir" value="${basedir}/../if"/>
+ <property name="thrift.java.dir" location="${thrift.root}/lib/java"/>
+ <property name="build.tools.dir" location="${thrift.java.dir}/build/tools/"/>
+- <property name="thrift_compiler" value="${thrift.root}/compiler/cpp/thrift"/>
++ <property name="thrift_compiler" value="${thrift.root}/compiler/cpp/thrift"/>
+
+ <!-- inherit from the java build file for version and other properties -->
+ <property file="${thrift.java.dir}/build.properties" />
+@@ -38,8 +37,8 @@
+ </condition>
+ <property name="version" value="${thrift.version}-snapshot"/>
+
+- <property name="fb303.final.name" value="${fb303.artifactid}-${version}"/>
+- <property name="thrift.java.libthrift" value="${thrift.java.dir}/build/libthrift-${version}.jar"/>
++ <property name="fb303.final.name" value="${fb303.artifactid}"/>
++ <property name="thrift.java.libthrift" value="${thrift.java.dir}/build/libthrift.jar"/>
+
+ <property name="src" value="${basedir}/src"/>
+ <property name="gen" value="${basedir}/gen-java"/>
+@@ -50,7 +49,7 @@
+ <property name="fb303.jar.file" location="${build.dir}/${fb303.final.name}.jar"/>
+ <property name="fb303.pom.xml" location="${build.dir}/${fb303.final.name}.pom"/>
+
+- <target name="init" depends="setup.init,mvn.init" unless="init.finished">
++ <target name="init" depends="setup.init" unless="init.finished">
+ <property name="init.finished" value="true"/>
+ </target>
+
+@@ -72,13 +71,21 @@
+ <!-- compile the base and thrift generated code and jar them -->
+ <target name="dist" depends="init,generate">
+ <echo message="Building ${fb303.final.name}.jar"/>
+- <javac destdir="${build.classes.dir}" debug="on">
++ <javac destdir="${build.classes.dir}" debug="on" includeantruntime="false" >
+ <classpath>
+ <pathelement location="${thrift.java.libthrift}"/>
+- <fileset dir="${thrift.root}/lib/java/build/lib">
+- <include name="*.jar"/>
+- </fileset>
++ <fileset dir="/usr/share/java">
++ <include name="commons-codec.jar"/>
++ <include name="commons-lang.jar"/>
++ <include name="commons-logging.jar"/>
++ <include name="httpcomponents/httpcore.jar"/>
++ <include name="httpcomponents/httpclient.jar"/>
++ <include name="log4j.jar"/>
++ <include name="slf4j/api.jar"/>
++ <include name="tomcat-servlet-3.0-api.jar"/>
++ </fileset>
+ </classpath>
++
+ <src path="${src}"/>
+ <src path="${gen}"/>
+ <include name="**/*.java"/>
+@@ -99,97 +106,4 @@
+ <delete dir="${build.dir}"/>
+ <delete dir="${gen}"/>
+ </target>
+-
+- <target name="mvn.ant.tasks.download" depends="setup.init,mvn.ant.tasks.check" unless="mvn.ant.tasks.found">
+- <get src="${mvn.ant.task.url}/${mvn.ant.task.jar}" dest="${build.tools.dir}/${mvn.ant.task.jar}" usetimestamp="true"/>
+- </target>
+-
+- <target name="mvn.ant.tasks.check">
+- <condition property="mvn.ant.tasks.found">
+- <typefound uri="antlib:org.apache.maven.artifact.ant" name="artifact"/>
+- </condition>
+- </target>
+-
+- <target name="mvn.init" depends="mvn.ant.tasks.download" unless="mvn.finished">
+- <echo message="${mvn.ant.task.jar}"/>
+- <!-- Download mvn ant tasks, download dependencies, and setup pom file -->
+- <typedef uri="antlib:org.apache.maven.artifact.ant" classpath="${build.tools.dir}/${mvn.ant.task.jar}"/>
+-
+- <!-- remote repositories used to download dependencies from -->
+- <artifact:remoteRepository id="central" url="${mvn.repo}"/>
+- <artifact:remoteRepository id="apache" url="${apache.repo}"/>
+-
+- <!-- Pom file information -->
+- <artifact:pom id="pom"
+- groupId="${thrift.groupid}"
+- artifactId="${fb303.artifactid}"
+- version="${version}"
+- url="http://thrift.apache.org"
+- name="Apache Thrift"
+- description="Thrift is a software framework for scalable cross-language services development."
+- packaging="pom"
+- >
+- <remoteRepository refid="central"/>
+- <remoteRepository refid="apache"/>
+- <license name="The Apache Software License, Version 2.0" url="${license}"/>
+- <scm connection="scm:git:https://git-wip-us.apache.org/repos/asf/thrift.git"
+- developerConnection="scm:git:https://git-wip-us.apache.org/repos/asf/thrift.git"
+- url="https://git-wip-us.apache.org/repos/asf?p=thrift.git"
+- />
+- <!-- Thrift Developers -->
+- <developer id="mcslee" name="Mark Slee"/>
+- <developer id="dreiss" name="David Reiss"/>
+- <developer id="aditya" name="Aditya Agarwal"/>
+- <developer id="marck" name="Marc Kwiatkowski"/>
+- <developer id="jwang" name="James Wang"/>
+- <developer id="cpiro" name="Chris Piro"/>
+- <developer id="bmaurer" name="Ben Maurer"/>
+- <developer id="kclark" name="Kevin Clark"/>
+- <developer id="jake" name="Jake Luciani"/>
+- <developer id="bryanduxbury" name="Bryan Duxbury"/>
+- <developer id="esteve" name="Esteve Fernandez"/>
+- <developer id="todd" name="Todd Lipcon"/>
+- <developer id="geechorama" name="Andrew McGeachie"/>
+- <developer id="molinaro" name="Anthony Molinaro"/>
+- <developer id="roger" name="Roger Meier"/>
+- <developer id="jfarrell" name="Jake Farrell"/>
+- <developer id="jensg" name="Jens Geyer"/>
+- <developer id="carl" name="Carl Yeksigian"/>
+-
+- <!-- Thrift dependencies list -->
+- <dependency groupId="org.apache.thrift" artifactId="libthrift" version="${version}"/>
+- </artifact:pom>
+-
+- <!-- Generate the pom file -->
+- <artifact:writepom pomRefId="pom" file="${fb303.pom.xml}"/>
+-
+- <property name="mvn.finished" value="true"/>
+- </target>
+-
+- <macrodef name="signAndDeploy">
+- <!-- Sign and deploy jars to apache repo -->
+- <attribute name="file"/>
+- <attribute name="classifier" default=""/>
+- <attribute name="packaging" default="jar"/>
+- <attribute name="pom" default=""/>
+- <sequential>
+- <artifact:mvn fork="true">
+- <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.1:sign-and-deploy-file"/>
+- <arg value="-DrepositoryId=${maven-repository-id}"/>
+- <arg value="-Durl=${maven-repository-url}"/>
+- <arg value="-DpomFile=@{pom}"/>
+- <arg value="-Dfile=@{file}"/>
+- <arg value="-Dclassifier=@{classifier}"/>
+- <arg value="-Dpackaging=@{packaging}"/>
+- <arg value="-Pgpg"/>
+- </artifact:mvn>
+- </sequential>
+- </macrodef>
+-
+- <target name="publish" depends="clean,dist">
+- <!-- Compile, packages and then send release to apache maven repo -->
+- <!-- run with: ant -Drelease=true publish-->
+- <signAndDeploy file="${fb303.pom.xml}" packaging="pom" classifier="" pom="${fb303.pom.xml}"/>
+- <signAndDeploy file="${fb303.jar.file}" packaging="jar" classifier="" pom="${fb303.pom.xml}"/>
+- </target>
+ </project>
diff --git a/libfb303-0.9.1.pom b/libfb303-0.9.1.pom
new file mode 100644
index 0000000..29d0dff
--- /dev/null
+++ b/libfb303-0.9.1.pom
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libfb303</artifactId>
+ <version>0.9.1</version>
+ <packaging>pom</packaging>
+ <name>Apache Thrift</name>
+ <description>Thrift is a software framework for scalable cross-language services development.</description>
+ <url>http://thrift.apache.org</url>
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ </license>
+ </licenses>
+ <developers>
+ <developer>
+ <id>mcslee</id>
+ <name>Mark Slee</name>
+ </developer>
+ <developer>
+ <id>dreiss</id>
+ <name>David Reiss</name>
+ </developer>
+ <developer>
+ <id>aditya</id>
+ <name>Aditya Agarwal</name>
+ </developer>
+ <developer>
+ <id>marck</id>
+ <name>Marc Kwiatkowski</name>
+ </developer>
+ <developer>
+ <id>jwang</id>
+ <name>James Wang</name>
+ </developer>
+ <developer>
+ <id>cpiro</id>
+ <name>Chris Piro</name>
+ </developer>
+ <developer>
+ <id>bmaurer</id>
+ <name>Ben Maurer</name>
+ </developer>
+ <developer>
+ <id>kclark</id>
+ <name>Kevin Clark</name>
+ </developer>
+ <developer>
+ <id>jake</id>
+ <name>Jake Luciani</name>
+ </developer>
+ <developer>
+ <id>bryanduxbury</id>
+ <name>Bryan Duxbury</name>
+ </developer>
+ <developer>
+ <id>esteve</id>
+ <name>Esteve Fernandez</name>
+ </developer>
+ <developer>
+ <id>todd</id>
+ <name>Todd Lipcon</name>
+ </developer>
+ <developer>
+ <id>geechorama</id>
+ <name>Andrew McGeachie</name>
+ </developer>
+ <developer>
+ <id>molinaro</id>
+ <name>Anthony Molinaro</name>
+ </developer>
+ <developer>
+ <id>roger</id>
+ <name>Roger Meier</name>
+ </developer>
+ <developer>
+ <id>jfarrell</id>
+ <name>Jake Farrell</name>
+ </developer>
+ <developer>
+ <id>jensg</id>
+ <name>Jens Geyer</name>
+ </developer>
+ <developer>
+ <id>carl</id>
+ <name>Carl Yeksigian</name>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:git:https://git-wip-us.apache.org/repos/asf/thrift.git</connection>
+ <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/thrift.git</developerConnection>
+ <url>https://git-wip-us.apache.org/repos/asf?p=thrift.git</url>
+ </scm>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ <version>0.9.1</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/libthrift-0.9.1.pom b/libthrift-0.9.1.pom
new file mode 100644
index 0000000..9a146f0
--- /dev/null
+++ b/libthrift-0.9.1.pom
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ <version>0.9.1</version>
+ <packaging>pom</packaging>
+ <name>Apache Thrift</name>
+ <description>Thrift is a software framework for scalable cross-language services development.</description>
+ <url>http://thrift.apache.org</url>
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ </license>
+ </licenses>
+ <developers>
+ <developer>
+ <id>mcslee</id>
+ <name>Mark Slee</name>
+ </developer>
+ <developer>
+ <id>dreiss</id>
+ <name>David Reiss</name>
+ </developer>
+ <developer>
+ <id>aditya</id>
+ <name>Aditya Agarwal</name>
+ </developer>
+ <developer>
+ <id>marck</id>
+ <name>Marc Kwiatkowski</name>
+ </developer>
+ <developer>
+ <id>jwang</id>
+ <name>James Wang</name>
+ </developer>
+ <developer>
+ <id>cpiro</id>
+ <name>Chris Piro</name>
+ </developer>
+ <developer>
+ <id>bmaurer</id>
+ <name>Ben Maurer</name>
+ </developer>
+ <developer>
+ <id>kclark</id>
+ <name>Kevin Clark</name>
+ </developer>
+ <developer>
+ <id>jake</id>
+ <name>Jake Luciani</name>
+ </developer>
+ <developer>
+ <id>bryanduxbury</id>
+ <name>Bryan Duxbury</name>
+ </developer>
+ <developer>
+ <id>esteve</id>
+ <name>Esteve Fernandez</name>
+ </developer>
+ <developer>
+ <id>todd</id>
+ <name>Todd Lipcon</name>
+ </developer>
+ <developer>
+ <id>geechorama</id>
+ <name>Andrew McGeachie</name>
+ </developer>
+ <developer>
+ <id>molinaro</id>
+ <name>Anthony Molinaro</name>
+ </developer>
+ <developer>
+ <id>roger</id>
+ <name>Roger Meier</name>
+ </developer>
+ <developer>
+ <id>jfarrell</id>
+ <name>Jake Farrell</name>
+ </developer>
+ <developer>
+ <id>jensg</id>
+ <name>Jens Geyer</name>
+ </developer>
+ <developer>
+ <id>carl</id>
+ <name>Carl Yeksigian</name>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:git:https://git-wip-us.apache.org/repos/asf/thrift.git</connection>
+ <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/thrift.git</developerConnection>
+ <url>https://git-wip-us.apache.org/repos/asf?p=thrift.git</url>
+ </scm>
+ <dependencies>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.2.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore</artifactId>
+ <version>4.2.4</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/manpage.1.ex b/manpage.1.ex
new file mode 100644
index 0000000..160f57b
--- /dev/null
+++ b/manpage.1.ex
@@ -0,0 +1,60 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH THRIFT SECTION "June 27, 2010"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+thrift \- program to do something
+.SH SYNOPSIS
+.B thrift
+.RI [ options ] " files" ...
+.br
+.B bar
+.RI [ options ] " files" ...
+.SH DESCRIPTION
+This manual page documents briefly the
+.B thrift
+and
+.B bar
+commands.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fBthrift\fP is a program that...
+.SH OPTIONS
+These programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`-').
+A summary of options is included below.
+For a complete description, see the Info files.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-v, \-\-version
+Show version of program.
+.SH SEE ALSO
+.BR bar (1),
+.BR baz (1).
+.br
+The programs are documented fully by
+.IR "The Rise and Fall of a Fooish Bar" ,
+available via the Info system.
+.SH AUTHOR
+thrift was written by <upstream author>.
+.PP
+This manual page was written by Krzysztof Krzyżaniak (eloy) <eloy at debian.org>,
+for the Debian project (and may be used by others).
+
diff --git a/sources b/sources
index e69de29..d078a98 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+147e8f2d3e48a272559aea554afdaf81 0.9.1.tar.gz
diff --git a/thrift-0.9.1-buildxml.patch b/thrift-0.9.1-buildxml.patch
new file mode 100644
index 0000000..444c6ec
--- /dev/null
+++ b/thrift-0.9.1-buildxml.patch
@@ -0,0 +1,246 @@
+diff --git a/lib/java/build.xml b/lib/java/build.xml
+index c2bfd9c..69525e7 100755
+--- a/lib/java/build.xml
++++ b/lib/java/build.xml
+@@ -17,8 +17,7 @@
+ specific language governing permissions and limitations
+ under the License.
+ -->
+-<project name="libthrift" default="dist" basedir="."
+- xmlns:artifact="antlib:org.apache.maven.artifact.ant">
++<project name="libthrift" default="dist" basedir=".">
+
+ <description>Thrift Build File</description>
+ <property name="thrift.root" location="../../"/>
+@@ -64,8 +63,15 @@
+ <property name="pom.xml" location="${build.dir}/${final.name}.pom"/>
+
+ <path id="compile.classpath">
+- <fileset dir="${build.lib.dir}">
+- <include name="**/*.jar"/>
++ <fileset dir="/usr/share/java">
++ <include name="commons-codec.jar"/>
++ <include name="commons-lang.jar"/>
++ <include name="commons-logging.jar"/>
++ <include name="httpcomponents/httpcore.jar"/>
++ <include name="httpcomponents/httpclient.jar"/>
++ <include name="log4j.jar"/>
++ <include name="slf4j/api.jar"/>
++ <include name="tomcat-servlet-3.0-api.jar"/>
+ </fileset>
+ </path>
+
+@@ -75,10 +81,14 @@
+ <pathelement location="${build.test.dir}"/>
+ <pathelement location="${jar.file}"/>
+ <pathelement location="${test.jar.file}"/>
++ <fileset dir="/usr/share/java">
++ <include name="junit.jar"/>
++ <include name="slf4j/log4j12.jar"/>
++ </fileset>
+ </path>
+
+ <!-- Tasks -->
+- <target name="init" depends="setup.init,mvn.init" unless="init.finished">
++ <target name="init" depends="setup.init" unless="init.finished">
+ <property name="init.finished" value="true"/>
+ </target>
+
+@@ -262,121 +272,12 @@
+ </target>
+
+ <target name="mvn.ant.tasks.download" depends="setup.init,mvn.ant.tasks.check,proxy" unless="mvn.ant.tasks.found">
+- <get src="${mvn.ant.task.url}/${mvn.ant.task.jar}" dest="${build.tools.dir}/${mvn.ant.task.jar}" usetimestamp="true"/>
+ </target>
+
+ <target name="mvn.ant.tasks.check">
+- <condition property="mvn.ant.tasks.found">
+- <typefound uri="antlib:org.apache.maven.artifact.ant" name="artifact"/>
+- </condition>
+ </target>
+
+- <target name="mvn.init" depends="mvn.ant.tasks.download" unless="mvn.finished">
+- <!-- Download mvn ant tasks, download dependencies, and setup pom file -->
+- <typedef uri="antlib:org.apache.maven.artifact.ant" classpath="${build.tools.dir}/${mvn.ant.task.jar}"/>
+-
+- <!-- remote repositories used to download dependencies from -->
+- <artifact:remoteRepository id="central" url="${mvn.repo}"/>
+- <artifact:remoteRepository id="apache" url="${apache.repo}"/>
+-
+- <!-- Pom file information -->
+- <artifact:pom id="pom"
+- groupId="${thrift.groupid}"
+- artifactId="${thrift.artifactid}"
+- version="${version}"
+- url="http://thrift.apache.org"
+- name="Apache Thrift"
+- description="Thrift is a software framework for scalable cross-language services development."
+- packaging="pom"
+- >
+- <remoteRepository refid="central"/>
+- <remoteRepository refid="apache"/>
+- <license name="The Apache Software License, Version 2.0" url="${license}"/>
+- <scm connection="scm:git:https://git-wip-us.apache.org/repos/asf/thrift.git"
+- developerConnection="scm:git:https://git-wip-us.apache.org/repos/asf/thrift.git"
+- url="https://git-wip-us.apache.org/repos/asf?p=thrift.git"
+- />
+- <!-- Thrift Developers -->
+- <developer id="mcslee" name="Mark Slee"/>
+- <developer id="dreiss" name="David Reiss"/>
+- <developer id="aditya" name="Aditya Agarwal"/>
+- <developer id="marck" name="Marc Kwiatkowski"/>
+- <developer id="jwang" name="James Wang"/>
+- <developer id="cpiro" name="Chris Piro"/>
+- <developer id="bmaurer" name="Ben Maurer"/>
+- <developer id="kclark" name="Kevin Clark"/>
+- <developer id="jake" name="Jake Luciani"/>
+- <developer id="bryanduxbury" name="Bryan Duxbury"/>
+- <developer id="esteve" name="Esteve Fernandez"/>
+- <developer id="todd" name="Todd Lipcon"/>
+- <developer id="geechorama" name="Andrew McGeachie"/>
+- <developer id="molinaro" name="Anthony Molinaro"/>
+- <developer id="roger" name="Roger Meier"/>
+- <developer id="jfarrell" name="Jake Farrell"/>
+- <developer id="jensg" name="Jens Geyer"/>
+- <developer id="carl" name="Carl Yeksigian"/>
+-
+- <!-- Thrift dependencies list -->
+- <dependency groupId="org.slf4j" artifactId="slf4j-api" version="${slf4j.version}"/>
+- <dependency groupId="org.apache.commons" artifactId="commons-lang3" version="${commons-lang3.version}"/>
+- <dependency groupId="javax.servlet" artifactId="servlet-api" version="${servlet.version}" scope="provided"/>
+- <dependency groupId="org.apache.httpcomponents" artifactId="httpclient" version="${httpclient.version}"/>
+- <dependency groupId="org.apache.httpcomponents" artifactId="httpcore" version="${httpcore.version}"/>
+- </artifact:pom>
+-
+- <!-- Generate the pom file -->
+- <artifact:writepom pomRefId="pom" file="${pom.xml}"/>
+-
+- <!-- Download the dependencies -->
+- <artifact:dependencies filesetId="build-dependency-jars" pomRefId="pom"/>
+-
+- <!-- Copy the dependencies to the build/lib dir -->
+- <copy todir="${build.dir}/lib">
+- <fileset refid="build-dependency-jars"/>
+- <mapper type="flatten"/>
+- </copy>
+-
+- <!-- Dependencies needed for testing -->
+- <artifact:dependencies filesetId="test-dependency-jars" useScope="runtime">
+- <dependency groupId="org.slf4j" artifactId="slf4j-log4j12" version="1.5.8"/>
+- <dependency groupId="junit" artifactId="junit" version="4.4"/>
+- </artifact:dependencies>
+-
+- <!-- Copy the test dependencies to the build/lib dir -->
+- <copy todir="${build.dir}/lib">
+- <fileset refid="test-dependency-jars"/>
+- <mapper type="flatten"/>
+- </copy>
+-
+- <property name="mvn.finished" value="true"/>
++ <target name="mvn.init" unless="mvn.finished">
+ </target>
+
+- <macrodef name="signAndDeploy">
+- <!-- Sign and deploy jars to apache repo -->
+- <attribute name="file"/>
+- <attribute name="classifier" default=""/>
+- <attribute name="packaging" default="jar"/>
+- <attribute name="pom" default=""/>
+- <sequential>
+- <artifact:mvn fork="true">
+- <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.1:sign-and-deploy-file"/>
+- <arg value="-DrepositoryId=${maven-repository-id}"/>
+- <arg value="-Durl=${maven-repository-url}"/>
+- <arg value="-DpomFile=@{pom}"/>
+- <arg value="-Dfile=@{file}"/>
+- <arg value="-Dclassifier=@{classifier}"/>
+- <arg value="-Dpackaging=@{packaging}"/>
+- <arg value="-Pgpg"/>
+- </artifact:mvn>
+- </sequential>
+- </macrodef>
+-
+- <target name="publish" depends="clean,init,test,dist,javadoc,pack.src">
+- <!-- Compile, package, test and then send release to apache maven repo -->
+- <!-- run with: ant -Drelease=true publish-->
+- <signAndDeploy file="${pom.xml}" packaging="pom" classifier="" pom="${pom.xml}"/>
+- <signAndDeploy file="${jar.file}" packaging="jar" classifier="" pom="${pom.xml}"/>
+- <signAndDeploy file="${javadoc.jar.file}" packaging="jar" classifier="javadoc" pom="${pom.xml}"/>
+- <signAndDeploy file="${source.tar.gz}" packaging="src" classifier="tar.gz" pom="${pom.xml}"/>
+- </target>
+ </project>
+diff --git a/tutorial/java/build.xml b/tutorial/java/build.xml
+index eceeca7..bc6a837 100644
+--- a/tutorial/java/build.xml
++++ b/tutorial/java/build.xml
+@@ -29,13 +29,33 @@
+ <include name="*.jar" />
+ <exclude name="-test.jar" />
+ </fileset>
+- <fileset dir="../../lib/java/build/lib">
+- <include name="*.jar" />
++ <fileset dir="/usr/share/java">
++ <include name="commons-codec.jar"/>
++ <include name="commons-lang.jar"/>
++ <include name="commons-logging.jar"/>
++ <include name="httpcomponents/httpcore.jar"/>
++ <include name="httpcomponents/httpclient.jar"/>
++ <include name="log4j.jar"/>
++ <include name="slf4j/api.jar"/>
++ <include name="tomcat-servlet-3.0-api.jar"/>
+ </fileset>
+ </path>
+ <path id="build.classpath">
+- <path refid="libs.classpath" />
+ <pathelement path="${gen}" />
++ <fileset dir="../../lib/java/build">
++ <include name="*.jar" />
++ <exclude name="-test.jar" />
++ </fileset>
++ <fileset dir="/usr/share/java">
++ <include name="commons-codec.jar"/>
++ <include name="commons-lang.jar"/>
++ <include name="commons-logging.jar"/>
++ <include name="httpcomponents/httpcore.jar"/>
++ <include name="httpcomponents/httpclient.jar"/>
++ <include name="log4j.jar"/>
++ <include name="slf4j/api.jar"/>
++ <include name="tomcat-servlet-3.0-api.jar"/>
++ </fileset>
+ </path>
+ <path id="tutorial.classpath">
+ <path refid="build.classpath" />
+@@ -50,8 +70,8 @@
+ </target>
+
+ <target name="compile" depends="init, generate">
+- <javac srcdir="${gen}" destdir="${build}" classpathref="libs.classpath" />
+- <javac srcdir="${src}" destdir="${build}" classpathref="build.classpath" />
++ <javac srcdir="${gen}" destdir="${build}" classpathref="libs.classpath" includeantruntime="false" />
++ <javac srcdir="${src}" destdir="${build}" classpathref="build.classpath" includeantruntime="false" />
+ </target>
+
+ <target name="test" depends="tutorial" />
+diff --git a/tutorial/js/build.xml b/tutorial/js/build.xml
+index 73d535d..e3ee1e2 100644
+--- a/tutorial/js/build.xml
++++ b/tutorial/js/build.xml
+@@ -35,8 +35,16 @@
+ <include name="*.jar" />
+ <exclude name="-test.jar" />
+ </fileset>
+- <fileset dir="../../lib/java/build/lib">
+- <include name="*.jar" />
++
++ <fileset dir="/usr/share/java">
++ <include name="commons-codec.jar"/>
++ <include name="commons-lang.jar"/>
++ <include name="commons-logging.jar"/>
++ <include name="httpcomponents/httpcore.jar"/>
++ <include name="httpcomponents/httpclient.jar"/>
++ <include name="log4j.jar"/>
++ <include name="slf4j/api.jar"/>
++ <include name="tomcat-servlet-3.0-api.jar"/>
+ </fileset>
+ </path>
+ <path id="build.classpath">
diff --git a/thrift-0.9.1-rebar.patch b/thrift-0.9.1-rebar.patch
new file mode 100644
index 0000000..6207c13
--- /dev/null
+++ b/thrift-0.9.1-rebar.patch
@@ -0,0 +1,9 @@
+--- a/lib/erl/rebar.config 2013-08-21 15:39:39.121081905 -0500
++++ b/lib/erl/rebar.config 2013-08-21 15:43:19.351633734 -0500
+@@ -1,5 +1,4 @@
+ {erl_opts, [debug_info]}.
+ {lib_dirs, ["deps"]}.
+ {deps, [
+- { jsx, "1.2.1", {git, "git://github.com/talentdeficit/jsx.git", {tag, "v1.2.1"}}}
+- ]}.
++]}.
diff --git a/thrift.spec b/thrift.spec
new file mode 100644
index 0000000..b3da7cb
--- /dev/null
+++ b/thrift.spec
@@ -0,0 +1,588 @@
+%global pkg_version 0.9.1
+%global fb303_version 1.0.0_dev
+%global pkg_rel 7
+
+%global py_version 2.7
+
+%global php_extdir %(php-config --extension-dir 2>/dev/null || echo "undefined")
+
+%{?perl_default_filter}
+%global __provides_exclude_from ^(%{python_sitearch}/.*\\.so|%{php_extdir}/.*\\.so)$
+
+%global have_mongrel 0
+
+%if 0%{?fedora} >= 19
+# erlang-jsx is available in F19
+%global have_jsx 1
+%else
+%global have_jsx 0
+%endif
+
+# We should be able to enable this in the future
+%global want_d 0
+
+# Thrift's Ruby support depends on Mongrel. Since Mongrel is
+# deprecated in Fedora, we can't support Ruby bindings for Thrift
+# unless and until Thrift is patched to use a different HTTP server.
+%if 0%{?have_mongrel} == 0
+%global ruby_configure --without-ruby
+%global with_ruby 0
+%else
+%global ruby_configure --with-ruby
+%global want_ruby 1
+%endif
+
+# Thrift's Erlang support depends on the JSX library, which is not
+# currently available in Fedora.
+
+%if 0%{?have_jsx} == 0
+%global erlang_configure --without-erlang
+%global want_erlang 0
+%else
+%global erlang_configure --with-erlang
+%global want_erlang 1
+%endif
+
+# PHP appears broken in Thrift 0.9.1
+%global want_php 0
+
+%if 0%{?want_php} == 0
+%global php_langname %{nil}
+%global php_configure --without-php
+%else
+%global php_langname PHP,\
+%global php_configure --with-php
+%endif
+
+# Thrift's GO support doesn't build under Fedora
+%global want_golang 0
+%global golang_configure --without-go
+
+Name: thrift
+Version: %{pkg_version}
+Release: %{pkg_rel}%{?dist}
+Summary: Software framework for cross-language services development
+
+# Parts of the source are used under the BSD and zlib licenses, but
+# these are OK for inclusion in an Apache 2.0-licensed whole:
+# http://www.apache.org/legal/3party.html
+
+# Here's the breakdown:
+# thrift-0.9.1/lib/py/compat/win32/stdint.h is 2-clause BSD
+# thrift-0.9.1/compiler/cpp/src/md5.[ch] are zlib
+License: ASL 2.0 and BSD and zlib
+URL: http://thrift.apache.org/
+
+%if "%{version}" != "0.9.1"
+Source0: http://archive.apache.org/dist/%{name}/%{version}/%{name}-%{version}.tar.gz
+%else
+# Unfortunately, the distribution tarball for thrift-0.9.1 is broken, so we're
+# using an exported tarball from git. This will change in the future.
+
+Source0: https://github.com/apache/thrift/archive/0.9.1.tar.gz
+%endif
+
+Source1: http://repo1.maven.org/maven2/org/apache/thrift/lib%{name}/%{version}/lib%{name}-%{version}.pom
+Source2: https://raw.github.com/apache/%{name}/%{version}/bootstrap.sh
+
+Source3: https://gitorious.org/pkg-scribe/thrift-deb-pkg/raw/master:debian/manpage.1.ex
+Source4: http://repo1.maven.org/maven2/org/apache/thrift/libfb303/%{version}/libfb303-%{version}.pom
+
+# this patch is adapted from Gil Cattaneo's thrift-0.7.0 package
+Patch0: thrift-0.9.1-buildxml.patch
+# don't use bundled rebar executable
+Patch1: thrift-0.9.1-rebar.patch
+# for fb303, excise maven ant tasks; build against system libraries; etc.
+Patch2: fb303-0.9.1-buildxml.patch
+
+Group: Development/Libraries
+
+# BuildRequires for language-specific bindings are listed under these
+# subpackages, to facilitate enabling or disabling individual language
+# bindings in the future
+
+BuildRequires: libstdc++-devel
+BuildRequires: boost-devel
+BuildRequires: automake
+BuildRequires: autoconf
+BuildRequires: openssl-devel
+BuildRequires: zlib-devel
+BuildRequires: bison-devel
+BuildRequires: flex-devel
+BuildRequires: mono-devel
+BuildRequires: glib2-devel
+BuildRequires: texlive
+BuildRequires: qt-devel
+
+BuildRequires: libtool
+BuildRequires: autoconf
+BuildRequires: automake
+
+BuildRequires: bison
+BuildRequires: flex
+BuildRequires: bison-devel
+BuildRequires: flex-devel
+
+BuildRequires: ant
+
+Requires: openssl
+Requires: boost
+Requires: bison
+Requires: flex
+Requires: mono-core
+
+Requires: qt4
+
+%if 0%{?want_golang} > 0
+BuildRequires: golang
+Requires: golang
+%endif
+
+%description
+
+The Apache Thrift software framework for cross-language services
+development combines a software stack with a code generation engine to
+build services that work efficiently and seamlessly between C++, Java,
+Python, %{?php_langname}and other languages.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: pkgconfig
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%package -n python-%{name}
+Summary: Python support for %{name}
+BuildRequires: python2-devel
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: python2
+
+%description -n python-%{name}
+The python-%{name} package contains Python bindings for %{name}.
+
+%package -n perl-%{name}
+Summary: Perl support for %{name}
+Provides: perl(Thrift) = %{version}-%{release}
+BuildRequires: perl(Bit::Vector)
+BuildRequires: perl(ExtUtils::MakeMaker)
+Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+Requires: perl(Bit::Vector)
+Requires: perl(Encode)
+Requires: perl(HTTP::Request)
+Requires: perl(IO::Select)
+Requires: perl(IO::Socket::INET)
+Requires: perl(IO::String)
+Requires: perl(LWP::UserAgent)
+Requires: perl(POSIX)
+Requires: perl(base)
+Requires: perl(constant)
+Requires: perl(strict)
+Requires: perl(utf8)
+Requires: perl(warnings)
+BuildArch: noarch
+
+%description -n perl-%{name}
+The perl-%{name} package contains Perl bindings for %{name}.
+
+%if %{?want_d}
+%package -n d-%{name}
+Summary: D support for %{name}
+BuildRequires: ldc
+
+%description -n d-%{name}
+The d-%{name} package contains D bindings for %{name}.
+%endif
+
+%if 0%{?want_php} != 0
+%package -n php-%{name}
+Summary: PHP support for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: php(zend-abi) = %{php_zend_api}
+Requires: php(api) = %{php_core_api}
+Requires: php(language) >= 5.3.0
+Requires: php-date
+Requires: php-json
+BuildRequires: php-devel
+
+%description -n php-%{name}
+The php-%{name} package contains PHP bindings for %{name}.
+%endif
+
+%package -n lib%{name}-javadoc
+Summary: API documentation for java-%{name}
+Requires: lib%{name}-java = %{version}-%{release}
+BuildArch: noarch
+
+%description -n lib%{name}-javadoc
+The lib%{name}-javadoc package contains API documentation for the
+Java bindings for %{name}.
+
+%package -n lib%{name}-java
+Summary: Java support for %{name}
+
+BuildRequires: java-devel
+BuildRequires: javapackages-tools
+BuildRequires: apache-commons-codec
+BuildRequires: apache-commons-lang
+BuildRequires: apache-commons-logging
+BuildRequires: httpcomponents-client
+BuildRequires: httpcomponents-core
+BuildRequires: junit
+BuildRequires: log4j
+BuildRequires: slf4j
+BuildRequires: tomcat-servlet-3.0-api
+
+Requires: java >= 1:1.6.0
+Requires: javapackages-tools
+Requires: mvn(org.slf4j:slf4j-api)
+Requires: mvn(commons-lang:commons-lang)
+Requires: mvn(org.apache.httpcomponents:httpclient)
+Requires: mvn(org.apache.httpcomponents:httpcore)
+BuildArch: noarch
+
+
+%description -n lib%{name}-java
+The lib%{name}-java package contains Java bindings for %{name}.
+
+%if 0%{?want_ruby} > 0
+%package -n ruby-%{name}
+Summary: Ruby support for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: ruby(release)
+BuildRequires: ruby-devel
+
+%description -n ruby-%{name}
+The ruby-%{name} package contains Ruby bindings for %{name}.
+%endif
+
+%if 0%{?want_erlang} > 0
+%package -n erlang-%{name}
+Summary: Erlang support for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: erlang
+Requires: erlang-jsx
+BuildRequires: erlang
+BuildRequires: erlang-rebar
+
+%description -n erlang-%{name}
+The erlang-%{name} package contains Erlang bindings for %{name}.
+%endif
+
+%package -n fb303
+Summary: Basic interface for Thrift services
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description -n fb303
+fb303 is the shared root of all Thrift services; it provides a
+standard interface to monitoring, dynamic options and configuration,
+uptime reports, activity, etc.
+
+%package -n fb303-devel
+Summary: Development files for fb303
+Requires: fb303%{?_isa} = %{version}-%{release}
+
+%description -n fb303-devel
+The fb303-devel package contains header files for fb303
+
+%package -n python-fb303
+Summary: Python bindings for fb303
+Requires: fb303%{?_isa} = %{version}-%{release}
+BuildRequires: python2-devel
+
+%description -n python-fb303
+The python-fb303 package contains Python bindings for fb303.
+
+%package -n fb303-java
+Summary: Java bindings for fb303
+Requires: java >= 1:1.6.0
+Requires: javapackages-tools
+Requires: mvn(org.slf4j:slf4j-api)
+Requires: mvn(commons-lang:commons-lang)
+Requires: mvn(org.apache.httpcomponents:httpclient)
+Requires: mvn(org.apache.httpcomponents:httpcore)
+BuildArch: noarch
+
+%description -n fb303-java
+The fb303-java package contains Java bindings for fb303.
+
+%global _default_patch_fuzz 2
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+%{?!el5:sed -i -e 's/^AC_PROG_LIBTOOL/LT_INIT/g' configure.ac}
+
+# avoid spurious executable permissions in debuginfo package
+find . -name \*.cpp -or -name \*.cc -or -name \*.h | xargs -r chmod 644
+
+cp -p %{SOURCE2} bootstrap.sh
+
+# work around linking issues
+echo 'libthrift_c_glib_la_LIBADD = $(GLIB_LIBS) $(GOBJECT_LIBS) -L../cpp/.libs ' >> lib/c_glib/Makefile.am
+echo 'libthriftqt_la_LIBADD = $(QT_LIBS) -lthrift -L.libs' >> lib/cpp/Makefile.am
+echo 'libthriftz_la_LIBADD = $(ZLIB_LIBS) -lthrift -L.libs' >> lib/cpp/Makefile.am
+echo 'EXTRA_libthriftqt_la_DEPENDENCIES = libthrift.la' >> lib/cpp/Makefile.am
+echo 'EXTRA_libthriftz_la_DEPENDENCIES = libthrift.la' >> lib/cpp/Makefile.am
+
+# echo 'libfb303_so_LIBADD = -lthrift -L../../../lib/cpp/.libs' >> contrib/fb303/cpp/Makefile.am
+
+sed -i 's|libfb303_so_LDFLAGS = $(SHARED_LDFLAGS)|libfb303_so_LDFLAGS = $(SHARED_LDFLAGS) -lthrift -L../../../lib/cpp/.libs -Wl,--as-needed|g' contrib/fb303/cpp/Makefile.am
+
+%build
+export PY_PREFIX=%{_prefix}
+export PERL_PREFIX=%{_prefix}
+export PHP_PREFIX=%{php_extdir}
+export JAVA_PREFIX=%{_javadir}
+export RUBY_PREFIX=%{_prefix}
+export GLIB_LIBS=$(pkg-config --libs glib-2.0)
+export GLIB_CFLAGS=$(pkg-config --cflags glib-2.0)
+export GOBJECT_LIBS=$(pkg-config --libs gobject-2.0)
+export GOBJECT_CFLAGS=$(pkg-config --cflags gobject-2.0)
+
+find %{_builddir} -name rebar -exec rm -f '{}' \;
+find . -name Makefile\* -exec sed -i -e 's/[.][/]rebar/rebar/g' {} \;
+
+# install javadocs in proper places
+sed -i 's|-Dinstall.javadoc.path=$(DESTDIR)$(docdir)/java|-Dinstall.javadoc.path=$(DESTDIR)%{_javadocdir}/%{name}|' lib/java/Makefile.*
+
+# build a jar without a version number
+sed -i 's|${thrift.artifactid}-${version}|${thrift.artifactid}|' lib/java/build.xml
+
+# Proper permissions for Erlang files
+sed -i 's|$(INSTALL) $$p|$(INSTALL) --mode 644 $$p|g' lib/erl/Makefile.am
+
+# Build fb303 jars against the in-situ copy of thrift
+sed -i 's|$(thrift_home)/bin/thrift|../../../compiler/cpp/thrift|g' \
+ contrib/fb303/cpp/Makefile.am \
+ contrib/fb303/py/Makefile.am
+
+sed -i 's|$(prefix)/lib$|%{_libdir}|g' contrib/fb303/cpp/Makefile.am
+
+sed -i 's|$(thrift_home)/include/thrift|../../../lib/cpp/src|g' \
+ contrib/fb303/cpp/Makefile.am
+
+# Create a straightforward makefile for Java fb303
+echo "all:
+ ant
+install: build/libfb303.jar
+ mkdir -p %{buildroot}%{_javadir}
+ /usr/bin/install -c -m 644 build/libfb303.jar %{buildroot}%{_javadir}
+" > contrib/fb303/java/Makefile
+
+sh ./bootstrap.sh
+
+# use unversioned doc dirs where appropriate (via _pkgdocdir macro)
+%configure --disable-dependency-tracking --disable-static --without-libevent --with-boost=/usr %{ruby_configure} %{erlang_configure} %{golang_configure} %{php_configure} --docdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
+
+# eliminate unused direct shlib dependencies
+sed -i -e 's/ -shared / -Wl,--as-needed\0/g' libtool
+
+make %{?_smp_mflags}
+
+# build fb303
+(
+ cd contrib/fb303
+ chmod 755 bootstrap.sh
+ sh bootstrap.sh
+ %configure --disable-static --with-java --without-php --libdir=%{_libdir}
+ make %{?_smp_mflags}
+ (
+ cd java
+ ant dist
+ )
+)
+
+%install
+%make_install
+find %{buildroot} -name '*.la' -exec rm -f {} ';'
+find %{buildroot} -name fastbinary.so | xargs -r chmod 755
+find %{buildroot} -name \*.erl -or -name \*.hrl -or -name \*.app | xargs -r chmod 644
+
+# install man page
+mkdir -p %{buildroot}%{_mandir}/man1
+cp %{SOURCE3} %{buildroot}%{_mandir}/man1/thrift.1
+gzip -9v %{buildroot}%{_mandir}/man1/thrift.1
+
+# Remove javadocs jar
+find %{buildroot}/%{_javadir} -name lib%{name}-javadoc.jar -exec rm -f '{}' \;
+
+# Add POM file and depmap
+mkdir -p %{buildroot}%{_mavenpomdir}
+
+install -pm 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP-libthrift.pom
+
+%add_maven_depmap JPP-libthrift.pom libthrift.jar
+
+# Remove bundled jar files
+find %{buildroot} -name \*.jar -a \! -name \*thrift\* -exec rm -f '{}' \;
+
+# Move perl files into appropriate places
+find %{buildroot} -name \*.pod -exec rm -f '{}' \;
+find %{buildroot} -name .packlist -exec rm -f '{}' \;
+find %{buildroot}/usr/lib/perl5 -type d -empty -delete
+mkdir -p %{buildroot}/%{perl_vendorlib}/
+mv %{buildroot}/usr/lib/perl5/* %{buildroot}/%{perl_vendorlib}
+
+%if 0%{?want_php} != 0
+
+# Move arch-independent php files into the appropriate place
+mkdir -p %{buildroot}/%{_datadir}/php/
+mv %{buildroot}/%{php_extdir}/Thrift %{buildroot}/%{_datadir}/php/
+%endif # want_php
+
+# Fix permissions on Thread.h
+find %{buildroot} -name Thread.h -exec chmod a-x '{}' \;
+
+# install fb303
+(
+ cd contrib/fb303
+ make DESTDIR=%{buildroot} install
+ (
+ cd java
+ ant -Dinstall.path=%{buildroot}%{_javadir} -Dinstall.javadoc.path=%{buildroot}%{_javadocdir}/fb303 install
+ )
+)
+
+# install maven pom and depmaps for fb303
+install -pm 644 %{SOURCE4} %{buildroot}%{_mavenpomdir}/JPP-libfb303.pom
+%add_maven_depmap JPP-libfb303.pom libfb303.jar -f "fb303"
+
+# Ensure all python scripts are executable
+find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r chmod 755
+
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+
+%files
+%doc LICENSE NOTICE
+%{_bindir}/thrift
+%{_libdir}/*.so.*
+%{_mandir}/man1/thrift.1.gz
+
+%files devel
+%{_includedir}/thrift
+%exclude %{_includedir}/thrift/fb303
+%{_libdir}/*.so
+%exclude %{_libdir}/libfb303.so
+%{_libdir}/pkgconfig/thrift-z.pc
+%{_libdir}/pkgconfig/thrift-qt.pc
+%{_libdir}/pkgconfig/thrift.pc
+%{_libdir}/pkgconfig/thrift_c_glib.pc
+%doc LICENSE NOTICE
+
+%files -n perl-%{name}
+%{perl_vendorlib}/Thrift
+%{perl_vendorlib}/Thrift.pm
+%doc LICENSE NOTICE
+
+%if 0%{?want_php} != 0
+%files -n php-%{name}
+%config(noreplace) /etc/php.d/thrift_protocol.ini
+%{_datadir}/php/Thrift/
+%{php_extdir}/thrift_protocol.so
+%doc LICENSE NOTICE
+%endif
+
+%if %{?want_erlang} > 0
+%files -n erlang-%{name}
+%{_libdir}/erlang/lib/%{name}-%{version}/
+%doc LICENSE NOTICE
+%endif
+
+%files -n python-%{name}
+%{python_sitearch}/%{name}
+%{python_sitearch}/%{name}-%{version}-py%{py_version}.egg-info
+%doc LICENSE NOTICE
+
+%files -n lib%{name}-javadoc
+%{_javadocdir}/%{name}
+%doc LICENSE NOTICE
+
+%files -n lib%{name}-java
+%{_javadir}/lib%{name}.jar
+%{_mavenpomdir}/JPP-lib%{name}.pom
+%{_mavendepmapfragdir}/%{name}
+%doc LICENSE NOTICE
+
+%files -n fb303
+%{_datarootdir}/fb303
+%doc LICENSE NOTICE
+
+%files -n fb303-devel
+%{_libdir}/libfb303.so
+%{_includedir}/thrift/fb303
+%doc LICENSE NOTICE
+
+%files -n python-fb303
+%{python_sitelib}/fb303
+%{python_sitelib}/fb303_scripts
+%{python_sitelib}/%{name}_fb303-%{fb303_version}-py%{py_version}.egg-info
+%doc LICENSE NOTICE
+
+%files -n fb303-java
+%{_javadir}/libfb303.jar
+%{_mavenpomdir}/JPP-libfb303.pom
+%{_mavendepmapfragdir}/thrift-fb303
+%doc LICENSE NOTICE
+
+
+
+%changelog
+
+* Sun Oct 13 2013 willb <willb at redhat> - 0.9.1-7
+- minor specfile cleanups
+
+* Fri Oct 11 2013 willb <willb at redhat> - 0.9.1-6
+- added thrift man page
+- integrated fb303
+- fixed many fb303 library dependency problems
+
+* Tue Oct 1 2013 willb <willb at redhat> - 0.9.1-5
+- fixed extension library linking when an older thrift package is not
+ already installed
+- fixed extension library dependencies in Makefile
+
+* Tue Oct 1 2013 willb <willb at redhat> - 0.9.1-4
+- addresses rpmlint warnings and errors
+- properly links glib, qt, and z extension libraries
+
+* Mon Sep 30 2013 willb <willb at redhat> - 0.9.1-3
+- adds QT support
+- clarified multiple licensing
+- uses parallel make
+- removes obsolete M4 macros
+- specifies canonical location for source archive
+
+* Tue Sep 24 2013 willb <willb at redhat> - 0.9.1-2
+- fixes for i686
+- fixes bogus requires for Java package
+
+* Fri Sep 20 2013 willb <willb at redhat> - 0.9.1-1
+- updated to upstream version 0.9.1
+- disables PHP support, which FTBFS in this version
+
+* Fri Sep 20 2013 willb <willb at redhat> - 0.9.0-5
+- patch build xml to generate unversioned jars instead of moving after the fact
+- unversioned doc dirs on Fedora versions where this is appropriate
+- replaced some stray hardcoded paths with macros
+- thanks to Gil for the above observations and suggestions for fixes
+
+* Thu Aug 22 2013 willb <willb at redhat> - 0.9.0-4
+- removed version number from jar name (obs pmackinn)
+
+* Thu Aug 22 2013 willb <willb at redhat> - 0.9.0-3
+- Fixes for F19 and Erlang support
+
+* Thu Aug 15 2013 willb <willb at redhat> - 0.9.0-2
+- Incorporates feedback from comments on review request
+
+* Mon Jul 1 2013 willb <willb at redhat> - 0.9.0-1
+- Initial package
More information about the scm-commits
mailing list