THRIFT-71 Debian packaging for Thrift

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1049288 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Roger Meier 2010-12-14 21:38:00 +00:00
parent ed2dc5359e
commit 08dc7e85b9
15 changed files with 559 additions and 0 deletions

View File

@ -0,0 +1,13 @@
#!/bin/sh
set -e
ln -s contrib/debian debian
dpkg-buildpackage -rfakeroot -tc
# results
ls ../*.deb ../*.dsc ../*.tar.gz ../*.changes
# cleanup
rm debian

41
contrib/debian/changelog Normal file
View File

@ -0,0 +1,41 @@
thrift (0.6.0-dev1) stable; urgency=low
* update version field
* added debian folder to thrift/contrib
* changed a few details in control file
* update copyright file
-- Roger Meier <roger@apache.org> Tue, 14 Dec 2010 12:12:33 -0800
thrift (0.5.0+nmu2) stable; urgency=low
* Non-maintainer upload.
* Merged THRIFT-71_v9.patch to skip ./bootstrap.sh if not exists.
https://issues.apache.org/jira/secure/attachment/12465360/THRIFT-71_v9.patch
-- Yamashita Yuu <yamashita@geishatokyo.com> Tue, 07 Dec 2010 15:00:55 +0900
thrift (0.5.0+nmu1) stable; urgency=low
* Non-maintainer upload.
* Imported package information for php5-thrift from https://github.com/simplegeo/thrift.
-- Yamashita Yuu <yamashita@geishatokyo.com> Tue, 07 Dec 2010 01:00:17 +0900
thrift (0.5.0) stable; urgency=low
* update to 0.5.0
-- Roger Meier <roger@apache.org> Fri, 08 Oct 2010 11:23:53 +0200
thrift (0.4.0) stable; urgency=low
* update to 0.4.0
-- Roger Meier <roger@bufferoverflow.ch> Sun, 22 Aug 2010 21:26:00 +0100
thrift (0.2008.12.30~8.04) hardy; urgency=low
* Initial release.
-- Esteve Fernandez <esteve@fluidinfo.com> Thu, 15 Jan 2009 11:34:24 +0100

1
contrib/debian/compat Normal file
View File

@ -0,0 +1 @@
5

152
contrib/debian/control Normal file
View File

@ -0,0 +1,152 @@
Source: thrift
Section: devel
Priority: extra
Build-Depends: debhelper (>= 5), build-essential, mono-gmcs, python-dev, ant,
libmono-dev, erlang-base, ruby1.8-dev, autoconf, python-support, automake,
pkg-config, libtool, bison, flex, libboost-dev | libboost1.40-dev, python-all, python-all-dev,
python-all-dbg, ruby, openjdk-6-jdk | java-sdk, libcommons-lang-java,
libboost-test-dev | libboost-test1.40-dev, libevent-dev, perl (>= 5.8.0-7),
php5, php5-dev
Maintainer: Thrift Developer's <dev@thrift.apache.org>
Homepage: http://thrift.apache.org/
Vcs-Svn: https://svn.apache.org/repos/asf/thrift
Vcs-Browser: http://svn.apache.org/viewvc/thrift
Standards-Version: 3.7.2
XS-Python-Version: >= 2.4
Package: thrift-compiler
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Compiler for Thrift definition files
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the Thrift compiler that is used for translating from
.thrift files (containing the definitions) to the language binding for the
supported languages.
Package: python-thrift
Architecture: any
Section: python
Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}
Recommends: python-twisted-core
Provides: ${python:Provides}
Description: Python bindings for Thrift
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the Python bindings for Thrift. You will need the thrift
tool (in the thrift-compiler package) to compile your definition to Python
classes, and then the modules in this package will allow you to use those
classes in your programs.
Package: python-thrift-dbg
Architecture: any
Section: python
Depends: ${shlibs:Depends}, ${misc:Depends}, python-thrift (= ${binary:Version}), python-all-dbg
Provides: ${python:Provides}
Description: Python bindings for Thrift (debug version)
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the Python bindings for Thrift with debugging symbols.
You will need the thrift tool (in the thrift-compiler package) to compile your
definition to Python classes, and then the modules in this package will allow
you to use those classes in your programs.
Package: libthrift-ruby
Architecture: any
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}, ruby1.8 (>= 1.8), ruby1.8 (<< 1.9)
Description: Ruby bindings for Thrift
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the Ruby bindings for Thrift. You will need the thrift
tool (in the thrift-compiler package) to compile your definition to Ruby
classes, and then the modules in this package will allow you to use those
classes in your programs.
Package: libthrift-java
Architecture: all
Section: libs
Depends: java-gcj-compat | java1-runtime | java2-runtime, ${misc:Depends}
Recommends: libcommons-lang-java
Description: Java bindings for Thrift
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the Java bindings for Thrift. You will need the thrift
tool (in the thrift-compiler package) to compile your definition to Java
classes, and then the modules in this package will allow you to use those
classes in your programs.
Package: libthrift-cil
Architecture: all
Section: libs
Depends: cli-common, libmono-corlib1.0-cil (>= 1.0), libmono-system1.0-cil (>= 1.0), ${misc:Depends}
Description: CLI bindings for Thrift
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the CLI bindings for Thrift. You will need the thrift
tool (in the thrift-compiler package) to compile your definition to C#
classes, and then the modules in this package will allow you to use those
classes in your programs.
Package: libthrift-erlang
Architecture: all
Section: libs
Depends: erlang-nox, ${misc:Depends}
Description: Erlang bindings for Thrift
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the Erlang bindings for Thrift. You will need the thrift
tool (in the thrift-compiler package) to compile your definition to Erlang
classes, and then the modules in this package will allow you to use those
classes in your programs.
Package: libthrift-perl
Architecture: all
Section: perl
Depends: perl (>= 5.8.0-7), ${misc:Depends}
Description: Perl bindings for Thrift
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the Perl bindings for Thrift. You will need the thrift
tool (in the thrift-compiler package) to compile your definition to Perl
classes, and then the modules in this package will allow you to use those
classes in your programs.
Package: libthrift0
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Thrift C++ library
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the runtime libraries needed for C++ applications.
Package: libthrift-dev
Architecture: any
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, libthrift0
Description: Thrift C++ library (development headers)
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the development libraries required for writing C++
applications.
Package: php5-thrift
Architecture: any
Section: php
Depends: ${php:Depends}, ${shlibs:Depends}, ${misc:Depends}
Provides: ${php:Provides}
Description: PHP bindings for Thrift
Thrift is a software framework for scalable cross-language services
development. It combines a software stack with a code generation engine to
build services that work efficiently and seamlessly.
This package contains the PHP bindings for Thrift.

129
contrib/debian/copyright Normal file
View File

@ -0,0 +1,129 @@
This package was debianized by Thrift Developer's <dev@thrift.apache.org>.
This package and the Debian packaging is licensed under the Apache License,
see `/usr/share/common-licenses/Apache-2.0'.
The following informations was copied from Apache Thrift LICENSE file.
--------------------------------------------------
SOFTWARE DISTRIBUTED WITH THRIFT:
The Apache Thrift software includes a number of subcomponents with
separate copyright notices and license terms. Your use of the source
code for the these subcomponents is subject to the terms and
conditions of the following licenses.
--------------------------------------------------
Portions of the following files are licensed under the MIT License:
lib/erl/src/Makefile.am
Please see doc/otp-base-license.txt for the full terms of this license.
--------------------------------------------------
The following files contain some portions of code contributed under
the Thrift Software License (see doc/old-thrift-license.txt), and relicensed
under the Apache 2.0 License:
compiler/cpp/Makefile.am
compiler/cpp/src/generate/t_cocoa_generator.cc
compiler/cpp/src/generate/t_cpp_generator.cc
compiler/cpp/src/generate/t_csharp_generator.cc
compiler/cpp/src/generate/t_erl_generator.cc
compiler/cpp/src/generate/t_hs_generator.cc
compiler/cpp/src/generate/t_java_generator.cc
compiler/cpp/src/generate/t_ocaml_generator.cc
compiler/cpp/src/generate/t_perl_generator.cc
compiler/cpp/src/generate/t_php_generator.cc
compiler/cpp/src/generate/t_py_generator.cc
compiler/cpp/src/generate/t_rb_generator.cc
compiler/cpp/src/generate/t_st_generator.cc
compiler/cpp/src/generate/t_xsd_generator.cc
compiler/cpp/src/main.cc
compiler/cpp/src/parse/t_field.h
compiler/cpp/src/parse/t_program.h
compiler/cpp/src/platform.h
compiler/cpp/src/thriftl.ll
compiler/cpp/src/thrifty.yy
lib/csharp/src/Protocol/TBinaryProtocol.cs
lib/csharp/src/Protocol/TField.cs
lib/csharp/src/Protocol/TList.cs
lib/csharp/src/Protocol/TMap.cs
lib/csharp/src/Protocol/TMessage.cs
lib/csharp/src/Protocol/TMessageType.cs
lib/csharp/src/Protocol/TProtocol.cs
lib/csharp/src/Protocol/TProtocolException.cs
lib/csharp/src/Protocol/TProtocolFactory.cs
lib/csharp/src/Protocol/TProtocolUtil.cs
lib/csharp/src/Protocol/TSet.cs
lib/csharp/src/Protocol/TStruct.cs
lib/csharp/src/Protocol/TType.cs
lib/csharp/src/Server/TServer.cs
lib/csharp/src/Server/TSimpleServer.cs
lib/csharp/src/Server/TThreadPoolServer.cs
lib/csharp/src/TApplicationException.cs
lib/csharp/src/Thrift.csproj
lib/csharp/src/Thrift.sln
lib/csharp/src/TProcessor.cs
lib/csharp/src/Transport/TServerSocket.cs
lib/csharp/src/Transport/TServerTransport.cs
lib/csharp/src/Transport/TSocket.cs
lib/csharp/src/Transport/TStreamTransport.cs
lib/csharp/src/Transport/TTransport.cs
lib/csharp/src/Transport/TTransportException.cs
lib/csharp/src/Transport/TTransportFactory.cs
lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs
lib/csharp/ThriftMSBuildTask/ThriftBuild.cs
lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj
lib/rb/lib/thrift.rb
lib/st/README
lib/st/thrift.st
test/OptionalRequiredTest.cpp
test/OptionalRequiredTest.thrift
test/ThriftTest.thrift
--------------------------------------------------
For the aclocal/ax_boost_base.m4 and contrib/fb303/aclocal/ax_boost_base.m4 components:
# Copyright (c) 2007 Thomas Porschberg <thomas@randspringer.de>
#
# Copying and distribution of this file, with or without
# modification, are permitted in any medium without royalty provided
# the copyright notice and this notice are preserved.
--------------------------------------------------
For the compiler/cpp/src/md5.[ch] components:
/*
Copyright (C) 1999, 2000, 2002 Aladdin Enterprises. All rights reserved.
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
L. Peter Deutsch
ghost@aladdin.com
*/
---------------------------------------------------
For the lib/rb/setup.rb: Copyright (c) 2000-2005 Minero Aoki,
lib/ocaml/OCamlMakefile and lib/ocaml/README-OCamlMakefile components:
Copyright (C) 1999 - 2007 Markus Mottl
Licensed under the terms of the GNU Lesser General Public License 2.1
(see doc/lgpl-2.1.txt for the full terms of this license)

1
contrib/debian/debian Symbolic link
View File

@ -0,0 +1 @@
contrib/debian

2
contrib/debian/dirs Normal file
View File

@ -0,0 +1,2 @@
usr/bin
usr/sbin

2
contrib/debian/docs Normal file
View File

@ -0,0 +1,2 @@
NEWS
README

View File

@ -0,0 +1,4 @@
usr/lib/*.a
usr/lib/*.la
usr/lib/pkgconfig
usr/include

View File

@ -0,0 +1 @@
usr/lib/libthrift*.so.*

View File

@ -0,0 +1 @@
etc/php5/conf.d

207
contrib/debian/rules Executable file
View File

@ -0,0 +1,207 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
#
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets by Bill Allombert 2001
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This has to be exported to make some magic below work.
export DH_OPTIONS
PYVERS := $(shell pyversions -r)
configure: configure-stamp
configure-stamp:
dh_testdir
# Add here commands to configure the package.
if [ -f bootstrap.sh ]; then $(CURDIR)/bootstrap.sh; fi
$(CURDIR)/configure --prefix=/usr
touch configure-stamp
#Architecture
build: build-arch build-indep
# Tests disabled
# $(MAKE) -C test check
build-arch: build-arch-stamp
build-arch-stamp: configure-stamp
# Compile compiler
$(MAKE) -C $(CURDIR)/compiler/cpp
# Compile C++ library
$(MAKE) -C $(CURDIR)/lib/cpp
# Python library
cd $(CURDIR)/lib/py && \
for py in $(PYVERS); do \
$$py setup.py build; \
$$py-dbg setup.py build; \
done
# Ruby library
cd $(CURDIR)/lib/rb && \
ruby setup.rb config --installdirs=std && \
ruby setup.rb setup
# PHP
cd $(CURDIR)/lib/php/src/ext/thrift_protocol && \
phpize && \
./configure && make
touch $@
build-indep: build-indep-stamp
build-indep-stamp: configure-stamp
# Add here commands to compile the indep part of the package.
#$(MAKE) doc
# Java
cd $(CURDIR)/lib/java && \
ant
# Erlang
$(MAKE) -C $(CURDIR)/lib/erl
# C#
$(MAKE) -C $(CURDIR)/lib/csharp
# Perl
$(MAKE) -C $(CURDIR)/lib/perl INSTALLDIRS=vendor
touch $@
clean:
dh_testdir
dh_testroot
rm -f build-arch-stamp build-indep-stamp configure-stamp
# Add here commands to clean up after the build process.
-$(MAKE) clean
dh_clean
install: install-indep install-arch
install-indep:
dh_testdir
dh_testroot
dh_clean -k -i
dh_installdirs -i
# Add here commands to install the indep part of the package into
# debian/<package>-doc.
#INSTALLDOC#
# Java
mkdir -p $(CURDIR)/debian/libthrift-java/usr/share/java/ && \
cp $(CURDIR)/lib/java/libthrift.jar \
$(CURDIR)/debian/libthrift-java/usr/share/java/
# Erlang
mkdir -p $(CURDIR)/debian/libthrift-erlang/usr/lib/erlang/lib/thrift/ && \
cp -r $(CURDIR)/lib/erl/ebin \
$(CURDIR)/lib/erl/include \
$(CURDIR)/lib/erl/src \
$(CURDIR)/debian/libthrift-erlang/usr/lib/erlang/lib/thrift/
# C#
mkdir -p $(CURDIR)/debian/libthrift-cil/usr/lib/cli/thrift/ && \
cp $(CURDIR)/lib/csharp/Thrift.dll \
$(CURDIR)/debian/libthrift-cil/usr/lib/cli/thrift/Thrift.dll
# Perl
$(MAKE) -C $(CURDIR)/lib/perl install DESTDIR=$(CURDIR)/debian/libthrift-perl/usr
dh_install -i
install-arch:
dh_testdir
dh_testroot
dh_clean -k -s
dh_installdirs -s
# Add here commands to install the arch part of the package into
# debian/tmp.
#$(MAKE) DESTDIR=$(CURDIR)/debian/thrift install
#compiler
mkdir -p $(CURDIR)/debian/thrift-compiler/usr/bin && \
cp $(CURDIR)/compiler/cpp/thrift \
$(CURDIR)/debian/thrift-compiler/usr/bin/thrift && \
rmdir $(CURDIR)/debian/thrift-compiler/usr/sbin
#python
cd $(CURDIR)/lib/py && \
for py in $(PYVERS); do \
$$py setup.py install --no-compile --root=$(CURDIR)/debian/python-thrift; \
$$py-dbg setup.py install --no-compile --root=$(CURDIR)/debian/python-thrift-dbg; \
done
find $(CURDIR)/debian/python-thrift-dbg -name "*.pyc" -print0 | xargs -0 rm -f
find $(CURDIR)/debian/python-thrift-dbg -name "*.py" -print0 | xargs -0 rm -f
find $(CURDIR)/debian/python-thrift-dbg -name "*.egg-info" -print0 | xargs -0 rm -f
find $(CURDIR)/debian/python-thrift-dbg -depth -type d -empty -exec rmdir {} \;
#ruby
mkdir -p $(CURDIR)/debian/libthrift-ruby && \
cd $(CURDIR)/lib/rb && \
ruby setup.rb install --prefix=$(CURDIR)/debian/libthrift-ruby
# PHP
mkdir -p $(CURDIR)/debian/php5-thrift
cd $(CURDIR)/lib/php && \
$(MAKE) DESTDIR=$(CURDIR)/debian/php5-thrift install
#cpp
mkdir -p $(CURDIR)/debian/tmp; \
cd $(CURDIR)/lib/cpp && \
make DESTDIR=$(CURDIR)/debian/tmp install
dh_install --sourcedir=debian/tmp -s
# Must not depend on anything. This is to be called by
# binary-arch/binary-indep
# in another 'make' thread.
binary-common:
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_installman
dh_link
dh_strip -Npython-thrift-dbg -Nthrift-compiler -Nlibthrift0 -Nlibthrift-ruby --dbg=python-thrift-dbg
dh_strip -Npython-thrift-dbg
dh_compress
dh_fixperms
dh_pysupport
dh_makeshlibs
dh_installdeb
dh_perl
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
# Build architecture independant packages using the common target.
binary-indep: build-indep install-indep
$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
# Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch
echo "php:Depends=phpapi-$(php-config5 --phpapi)" > debian/substvars
$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
binary: binary-arch binary-indep
.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure

1
contrib/debian/substvars Normal file
View File

@ -0,0 +1 @@
php:Depends=phpapi-

View File

@ -0,0 +1,2 @@
#DOCS#

View File

@ -0,0 +1,2 @@
#DOCS#