summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/thrift/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xsrc/jaegertracing/thrift/debian/rules226
1 files changed, 226 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/debian/rules b/src/jaegertracing/thrift/debian/rules
new file mode 100755
index 000000000..e209ba33c
--- /dev/null
+++ b/src/jaegertracing/thrift/debian/rules
@@ -0,0 +1,226 @@
+#!/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)
+
+export CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
+export CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
+export CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
+export LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
+
+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 --enable-plugin=no
+
+ touch configure-stamp
+
+
+#Architecture
+build: build-arch build-indep
+ # Tests disabled
+ # $(MAKE) -C test check
+
+build-arch: build-arch-stamp
+$(CURDIR)/compiler/cpp/thrift build-arch-stamp: configure-stamp
+
+ # Compile compiler
+ $(MAKE) -C $(CURDIR)/compiler/cpp
+
+ # Compile C++ library
+ $(MAKE) -C $(CURDIR)/lib/cpp
+
+ # Compile C (glib) library
+ $(MAKE) -C $(CURDIR)/lib/c_glib
+
+ # Python library
+ cd $(CURDIR)/lib/py && \
+ for py in $(PYVERS); do \
+ $$py setup.py build; \
+ $$py-dbg setup.py build; \
+ done
+
+ # PHP
+ cd $(CURDIR)/lib/php/src/ext/thrift_protocol && \
+ phpize && \
+ ./configure && $(MAKE)
+
+ touch $@
+
+build-indep: build-indep-stamp
+build-indep-stamp: configure-stamp $(CURDIR)/compiler/cpp/thrift
+
+ # Add here commands to compile the indep part of the package.
+ #$(MAKE) doc
+
+ # Java
+ cd $(CURDIR)/lib/java && \
+ ./gradlew --no-daemon -Prelease=true jar
+
+ # C#
+ $(MAKE) -C $(CURDIR)/lib/csharp
+
+ # Ruby
+ $(MAKE) -C $(CURDIR)/lib/rb
+
+ # Perl
+ $(MAKE) -C $(CURDIR)/lib/perl INSTALLDIRS=vendor
+
+ touch $@
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp build-indep-stamp configure-stamp
+
+ cd $(CURDIR)/lib/py && python setup.py clean --all
+
+ # 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_prep -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/build/libs/libthrift*.jar \
+ $(CURDIR)/debian/libthrift-java/usr/share/java/
+
+ # Ruby
+ mkdir -p $(CURDIR)/debian/ruby-thrift/usr/lib/ruby/1.9.1 && \
+ cp $(CURDIR)/lib/rb/lib/thrift.rb \
+ $(CURDIR)/debian/ruby-thrift/usr/lib/ruby/1.9.1
+ cp -r $(CURDIR)/lib/rb/lib/thrift \
+ $(CURDIR)/debian/ruby-thrift/usr/lib/ruby/1.9.1
+
+ # 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
+ mkdir -p $(CURDIR)/debian/libthrift-perl/usr/share
+ mv $(CURDIR)/debian/libthrift-perl/usr/local/lib/perl5 $(CURDIR)/debian/libthrift-perl/usr/share
+ rmdir $(CURDIR)/debian/libthrift-perl/usr/local/lib
+ rmdir $(CURDIR)/debian/libthrift-perl/usr/local
+
+ 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 && \
+ python2 setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python-thrift && \
+ python2-dbg setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python-thrift-dbg && \
+ python3 setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python3-thrift && \
+ python3-dbg setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python3-thrift-dbg
+
+ find $(CURDIR)/debian/python-thrift -name "*.py[co]" -print0 | xargs -0 rm -f
+ find $(CURDIR)/debian/python-thrift -name "__pycache__" -print0 | xargs -0 rm -fr
+ find $(CURDIR)/debian/python-thrift-dbg -name "__pycache__" -print0 | xargs -0 rm -fr
+ find $(CURDIR)/debian/python-thrift-dbg -name "*.py[co]" -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 -rf
+ find $(CURDIR)/debian/python-thrift-dbg -depth -type d -empty -exec rmdir {} \;
+
+ find $(CURDIR)/debian/python3-thrift -name "*.py[co]" -print0 | xargs -0 rm -f
+ find $(CURDIR)/debian/python3-thrift -name "__pycache__" -print0 | xargs -0 rm -fr
+ find $(CURDIR)/debian/python3-thrift-dbg -name "__pycache__" -print0 | xargs -0 rm -fr
+ find $(CURDIR)/debian/python3-thrift-dbg -name "*.py[co]" -print0 | xargs -0 rm -f
+ find $(CURDIR)/debian/python3-thrift-dbg -name "*.py" -print0 | xargs -0 rm -f
+ find $(CURDIR)/debian/python3-thrift-dbg -name "*.egg-info" -print0 | xargs -0 rm -rf
+ find $(CURDIR)/debian/python3-thrift-dbg -depth -type d -empty -exec rmdir {} \;
+
+ # PHP
+ mkdir -p $(CURDIR)/debian/php5-thrift
+ cd $(CURDIR)/lib/php && \
+ $(MAKE) DESTDIR=$(CURDIR)/debian/php5-thrift install
+
+ # C++ and C (glib)
+ mkdir -p $(CURDIR)/debian/tmp; \
+ cd $(CURDIR)/lib/cpp && \
+ $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+ cd $(CURDIR)/lib/c_glib && \
+ $(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 -plibthrift0 --dbg-package=libthrift0-dbg
+ dh_strip -ppython-thrift --dbg-package=python-thrift-dbg
+ dh_strip -ppython3-thrift --dbg-package=python3-thrift-dbg
+ dh_strip -pthrift-compiler
+ dh_compress
+ dh_fixperms
+ dh_makeshlibs
+ dh_installdeb
+ dh_perl
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+# Build architecture independent packages using the common target.
+binary-indep: build-indep install-indep
+ $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
+# Build architecture dependent packages using the common target.
+binary-arch: build-arch install-arch
+ echo "php:Depends=phpapi-$(shell php-config5 --phpapi)" > $(CURDIR)/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