[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