diff options
Diffstat (limited to 'src/jaegertracing/thrift/debian/rules')
-rwxr-xr-x | src/jaegertracing/thrift/debian/rules | 226 |
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 |