mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
* add jaeger support, link hot container & req span * adds jaeger support now with FN_JAEGER_URL, there's a simple tutorial in the operating/metrics.md file now and it's pretty easy to get up and running. * links a hot request span to a hot container span. when we change this to sample at a lower ratio we'll need to finagle the hot container span to always sample or something, otherwise we'll hide that info. at least, since we're sampling at 100% for now if this is flipped on, can see freeze/unfreeze etc. if they hit. this is useful for debugging. note that zipkin's exporter does not follow the link at all, hence jaeger... and they're backed by the Cloud Empire now (CNCF) so we'll probably use it anyway. * vendor: add thrift for jaeger
229 lines
6.9 KiB
Makefile
Executable File
229 lines
6.9 KiB
Makefile
Executable File
#!/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 && \
|
|
ant
|
|
|
|
# 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
|
|
|
|
$(CURDIR)/cleanup.sh
|
|
|
|
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/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
|