Bump Thrift version from 0.13.0 to 0.14.1 (#9881)
#### Why I did it To bump the Thrift version to 0.14.1 - To avoid [CVE-2020-13949](https://nvd.nist.gov/vuln/detail/CVE-2020-13949) - to fix some dependencies issues #### How I did it - rename `src/thrfit_0_13_0` to `src/thrift_2` to remove version number in the path. (`src/thrift` contains rules to build thrift 0.11.0 ) - Add thrift sources as submodule as there are no prepared debian packages for version >0.13.0 on [debian.org](https://packages.debian.org/search?searchon=sourcenames&keywords=thrift) - Added patches with fixes for original thrift debian rules:(remove unneeded packages, fix multi job build) #### How to verify it ``` BLDENV=buster make -f Makefile.work target/debs/buster/libthrift-dev_0.14.1_amd64.deb ```
This commit is contained in:
parent
9677401f4a
commit
125fe9907a
5
.gitmodules
vendored
5
.gitmodules
vendored
@ -99,4 +99,7 @@
|
||||
url = https://github.com/Azure/sonic-linkmgrd.git
|
||||
[submodule "src/sonic-p4rt/sonic-pins"]
|
||||
path = src/sonic-p4rt/sonic-pins
|
||||
url = https://github.com/Azure/sonic-pins.git
|
||||
url = https://github.com/Azure/sonic-pins.git
|
||||
[submodule "src/thrift_0_14_1/thrift"]
|
||||
path = src/thrift_0_14_1/thrift
|
||||
url = https://github.com/apache/thrift.git
|
||||
|
@ -6,8 +6,8 @@ LIBSAITHRIFT_DEV = libsaithrift$(SAITHRIFT_VER)-dev_$(SAI_VER)_amd64.deb
|
||||
$(LIBSAITHRIFT_DEV)_SRC_PATH = $(SRC_PATH)/sonic-sairedis/SAI
|
||||
#Support two different versions of thrift
|
||||
ifeq ($(SAITHRIFT_V2),y)
|
||||
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT_0_13_0) $(LIBTHRIFT_DEV_0_13_0) $(PYTHON3_THRIFT_0_13_0) $(THRIFT_COMPILER_0_13_0)
|
||||
$(LIBSAITHRIFT_DEV)_RDEPENDS += $(LIBTHRIFT_0_13_0)
|
||||
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT_0_14_1) $(LIBTHRIFT_DEV_0_14_1) $(PYTHON3_THRIFT_0_14_1) $(THRIFT_COMPILER_0_14_1)
|
||||
$(LIBSAITHRIFT_DEV)_RDEPENDS += $(LIBTHRIFT_0_14_1)
|
||||
$(LIBSAITHRIFT_DEV)_BUILD_ENV = SAITHRIFTV2=true SAITHRIFT_VER=v2
|
||||
else
|
||||
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(PYTHON_THRIFT) $(THRIFT_COMPILER)
|
||||
|
@ -1,8 +0,0 @@
|
||||
SPATH := $($(LIBTHRIFT_0_13_0)_SRC_PATH)
|
||||
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/thrift_0_13_0.mk rules/thrift_0_13_0.dep
|
||||
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
|
||||
DEP_FILES += $(shell git ls-files $(SPATH))
|
||||
|
||||
$(LIBTHRIFT_0_13_0)_CACHE_MODE := GIT_CONTENT_SHA
|
||||
$(LIBTHRIFT_0_13_0)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
|
||||
$(LIBTHRIFT_0_13_0)_DEP_FILES := $(DEP_FILES)
|
@ -1,17 +0,0 @@
|
||||
# thrift package
|
||||
|
||||
THRIFT_VERSION_0_13_0 = 0.13.0
|
||||
THRIFT_VERSION_0_13_0_FULL = $(THRIFT_VERSION_0_13_0)-6
|
||||
|
||||
LIBTHRIFT_0_13_0 = libthrift-$(THRIFT_VERSION_0_13_0)_$(THRIFT_VERSION_0_13_0_FULL)_$(CONFIGURED_ARCH).deb
|
||||
$(LIBTHRIFT_0_13_0)_SRC_PATH = $(SRC_PATH)/thrift_0_13_0
|
||||
SONIC_MAKE_DEBS += $(LIBTHRIFT_0_13_0)
|
||||
|
||||
LIBTHRIFT_DEV_0_13_0 = libthrift-dev_$(THRIFT_VERSION_0_13_0_FULL)_$(CONFIGURED_ARCH).deb
|
||||
$(eval $(call add_derived_package,$(LIBTHRIFT_0_13_0),$(LIBTHRIFT_DEV_0_13_0)))
|
||||
|
||||
PYTHON3_THRIFT_0_13_0 = python3-thrift_$(THRIFT_VERSION_0_13_0_FULL)_$(CONFIGURED_ARCH).deb
|
||||
$(eval $(call add_derived_package,$(LIBTHRIFT_0_13_0),$(PYTHON3_THRIFT_0_13_0)))
|
||||
|
||||
THRIFT_COMPILER_0_13_0 = thrift-compiler_$(THRIFT_VERSION_0_13_0_FULL)_$(CONFIGURED_ARCH).deb
|
||||
$(eval $(call add_derived_package,$(LIBTHRIFT_0_13_0),$(THRIFT_COMPILER_0_13_0)))
|
8
rules/thrift_0_14_1.dep
Normal file
8
rules/thrift_0_14_1.dep
Normal file
@ -0,0 +1,8 @@
|
||||
SPATH := $($(LIBTHRIFT_0_14_1)_SRC_PATH)
|
||||
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/thrift_0_14_1.mk rules/thrift_0_14_1.dep
|
||||
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
|
||||
DEP_FILES += $(shell git ls-files $(SPATH))
|
||||
|
||||
$(LIBTHRIFT_0_14_1)_CACHE_MODE := GIT_CONTENT_SHA
|
||||
$(LIBTHRIFT_0_14_1)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
|
||||
$(LIBTHRIFT_0_14_1)_DEP_FILES := $(DEP_FILES)
|
20
rules/thrift_0_14_1.mk
Normal file
20
rules/thrift_0_14_1.mk
Normal file
@ -0,0 +1,20 @@
|
||||
# thrift package
|
||||
|
||||
THRIFT_0_14_1_VERSION = 0.14.1
|
||||
THRIFT_0_14_1_VERSION_FULL = $(THRIFT_0_14_1_VERSION)
|
||||
|
||||
LIBTHRIFT_0_14_1 = libthrift0_$(THRIFT_0_14_1_VERSION)_$(CONFIGURED_ARCH).deb
|
||||
$(LIBTHRIFT_0_14_1)_SRC_PATH = $(SRC_PATH)/thrift_0_14_1/thrift
|
||||
SONIC_DPKG_DEBS += $(LIBTHRIFT_0_14_1)
|
||||
|
||||
LIBTHRIFT_0_14_1_DEV = libthrift-dev_$(THRIFT_0_14_1_VERSION)_$(CONFIGURED_ARCH).deb
|
||||
$(eval $(call add_derived_package,$(LIBTHRIFT_0_14_1),$(LIBTHRIFT_0_14_1_DEV)))
|
||||
|
||||
PYTHON3_THRIFT_0_14_1 = python3-thrift_$(THRIFT_0_14_1_VERSION)_$(CONFIGURED_ARCH).deb
|
||||
$(eval $(call add_derived_package,$(LIBTHRIFT_0_14_1),$(PYTHON3_THRIFT_0_14_1)))
|
||||
|
||||
PYTHON_THRIFT_0_14_1 = python-thrift_$(THRIFT_0_14_1_VERSION)_$(CONFIGURED_ARCH).deb
|
||||
$(eval $(call add_derived_package,$(LIBTHRIFT_0_14_1),$(PYTHON_THRIFT_0_14_1)))
|
||||
|
||||
THRIFT_0_14_1_COMPILER = thrift-compiler_$(THRIFT_0_14_1_VERSION)_$(CONFIGURED_ARCH).deb
|
||||
$(eval $(call add_derived_package,$(LIBTHRIFT_0_14_1),$(THRIFT_0_14_1_COMPILER)))
|
1
src/thrift_0_13_0/.gitignore
vendored
1
src/thrift_0_13_0/.gitignore
vendored
@ -1 +0,0 @@
|
||||
thrift*
|
@ -1,32 +0,0 @@
|
||||
SHELL = /bin/bash
|
||||
.ONESHELL:
|
||||
.SHELLFLAGS += -e -x
|
||||
|
||||
THRIFT_VERSION = 0.13.0
|
||||
THRIFT_VERSION_FULL = $(THRIFT_VERSION)-6
|
||||
|
||||
MAIN_TARGET = libthrift-$(THRIFT_VERSION)_$(THRIFT_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||
DERIVED_TARGETS = libthrift-dev_$(THRIFT_VERSION_FULL)_$(CONFIGURED_ARCH).deb \
|
||||
python3-thrift_$(THRIFT_VERSION_FULL)_$(CONFIGURED_ARCH).deb \
|
||||
thrift-compiler_$(THRIFT_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||
|
||||
THRIFT_LINK_PRE = http://deb.debian.org/debian/pool/main/t/thrift/
|
||||
|
||||
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
|
||||
rm -rf thrift-$(THRIFT_VERSION)
|
||||
|
||||
wget -O "thrift_$(THRIFT_VERSION_FULL).debian.tar.xz" "$(THRIFT_LINK_PRE)/thrift_$(THRIFT_VERSION_FULL).debian.tar.xz"
|
||||
wget -O "thrift_$(THRIFT_VERSION).orig.tar.gz" "$(THRIFT_LINK_PRE)/thrift_$(THRIFT_VERSION).orig.tar.gz"
|
||||
wget -O "thrift_$(THRIFT_VERSION_FULL).dsc" "$(THRIFT_LINK_PRE)/thrift_$(THRIFT_VERSION_FULL).dsc"
|
||||
|
||||
dpkg-source -x thrift_$(THRIFT_VERSION_FULL).dsc
|
||||
pushd thrift-$(THRIFT_VERSION)
|
||||
|
||||
# Disable php perl and few other packages as they need additional packages to be installed
|
||||
patch -p1 < ../patch/0001-Remove-unneeded-packages.patch
|
||||
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -d -rfakeroot -b -us -uc -j$(SONIC_CONFIG_MAKE_JOBS) --admindir $(SONIC_DPKG_ADMINDIR)
|
||||
popd
|
||||
|
||||
mv $(DERIVED_TARGETS) $* $(DEST)/
|
||||
|
||||
$(addprefix $(DEST)/, $(DERIVED_TARGETS)): $(DEST)/% : $(DEST)/$(MAIN_TARGET)
|
@ -1,85 +0,0 @@
|
||||
From 7a8d588fa0425550cfd42c3300c8c0a643137190 Mon Sep 17 00:00:00 2001
|
||||
From: Myron Sosyak <myronx.sosyak@intel.com>
|
||||
Date: Fri, 13 Aug 2021 11:26:13 +0000
|
||||
Subject: [PATCH] Remove-unneeded-packages
|
||||
|
||||
---
|
||||
debian/control | 28 ----------------------------
|
||||
debian/rules | 7 +++----
|
||||
2 files changed, 3 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/debian/control b/debian/control
|
||||
index 5126e47..3f3028c 100644
|
||||
--- a/debian/control
|
||||
+++ b/debian/control
|
||||
@@ -13,8 +13,6 @@ Build-Depends: debhelper-compat (= 11), dh-python,
|
||||
python3-all-dev,
|
||||
python3-six,
|
||||
golang-go, golang-github-golang-mock-dev,
|
||||
- pkg-php-tools (>= 1.14~), php-dev, phpunit, php-codesniffer,
|
||||
- perl (>= 5.22), libbit-vector-perl, libclass-accessor-perl,
|
||||
# openjdk-11-jdk, javahelper, maven-debian-helper (>= 1.5), ant (>= 1.7), ant-optional,
|
||||
# libhttpclient-java, libslf4j-java, libservlet3.1-java (>= 8),
|
||||
# nodejs, npm,
|
||||
@@ -175,32 +173,6 @@ Description: Python library for Thrift (debug symbols)
|
||||
# .
|
||||
# This package contains Javadoc HTML documentation for libthrift-java .
|
||||
#
|
||||
-Package: php-thrift
|
||||
-Architecture: any
|
||||
-Section: php
|
||||
-Depends: ${phpcomposer:Debian-require}, ${shlibs:Depends}, ${misc:Depends}
|
||||
-Provides: ${php:Provides}
|
||||
-Conflicts: php7.0-thrift, php7.2-thrift
|
||||
-Replaces: php7.0-thrift, php7.2-thrift
|
||||
-Description: PHP language support for Thrift
|
||||
- Thrift is a software framework for the development of reliable and
|
||||
- performant communication and data serialization. It combines a software
|
||||
- stack with code generation to build services that operate seamlessly
|
||||
- across a number of different development languages.
|
||||
- .
|
||||
- This package provides the PHP5 language support for Thrift.
|
||||
-
|
||||
-Package: libthrift-perl
|
||||
-Section: perl
|
||||
-Architecture: all
|
||||
-Depends: ${perl:Depends}, ${misc:Depends}
|
||||
-Description: Perl language support for Thrift
|
||||
- Thrift is a software framework for the development of reliable and
|
||||
- performant communication and data serialization. It combines a software
|
||||
- stack with code generation to build services that operate seamlessly
|
||||
- across a number of different development languages.
|
||||
- .
|
||||
- This package provides the Perl language support for Thrift.
|
||||
|
||||
Package: golang-thrift-dev
|
||||
Architecture: amd64 arm64 armel armhf i386 ppc64el
|
||||
diff --git a/debian/rules b/debian/rules
|
||||
index ba63e6f..8217796 100755
|
||||
--- a/debian/rules
|
||||
+++ b/debian/rules
|
||||
@@ -47,7 +47,6 @@ override_dh_auto_clean:
|
||||
$(CURDIR)/lib/go/test/gopath/src/golang.org/x/net \
|
||||
$(CURDIR)/lib/go/test/gopath/src/github.com/golang/mock
|
||||
[ ! -f Makefile ] || $(MAKE) clean
|
||||
- cd $(CURDIR)/lib/php/src/ext/thrift_protocol/ && phpize --clean
|
||||
find $(CURDIR) \( -name Makefile -o -name Makefile.in \) -exec rm {} \;
|
||||
find $(CURDIR) -name .dirstamp -exec rm {} \;
|
||||
$(RM) aclocal.m4 config.h config.log config.status configure \
|
||||
@@ -65,10 +64,10 @@ override_dh_auto_clean:
|
||||
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure -- \
|
||||
- --with-cpp --with-c_glib --with-php --with-php_extension \
|
||||
- --with-perl --without-python --with-py3 --without-java \
|
||||
+ --with-cpp --with-c_glib --without-php --without-php_extension \
|
||||
+ --without-perl --without-python --with-py3 --without-java \
|
||||
--without-nodejs --without-erlang --without-lua \
|
||||
- --with-go --with-ruby \
|
||||
+ --without-go --without-ruby \
|
||||
--with-qt4=no --with-qt5=yes \
|
||||
--without-rust \
|
||||
--disable-tutorial
|
||||
--
|
||||
2.17.1
|
||||
|
1
src/thrift_0_14_1/thrift
Submodule
1
src/thrift_0_14_1/thrift
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit f6fa1794539e68ac294038ac388d6bde40a6c237
|
@ -0,0 +1,118 @@
|
||||
From e9e789bdeb4eb3ae5bf905f83171c66558f29551 Mon Sep 17 00:00:00 2001
|
||||
From: Myron sosyak <myronx.sosyak@intel.com>
|
||||
Date: Fri, 28 Jan 2022 15:01:35 +0000
|
||||
Subject: [PATCH 1/2] Remove unneeded packages
|
||||
|
||||
---
|
||||
debian/control | 83 +++-----------------------------------------------
|
||||
1 file changed, 5 insertions(+), 78 deletions(-)
|
||||
|
||||
diff --git a/debian/control b/debian/control
|
||||
index a9e934f17..752076582 100644
|
||||
--- a/debian/control
|
||||
+++ b/debian/control
|
||||
@@ -1,14 +1,12 @@
|
||||
Source: thrift
|
||||
Section: devel
|
||||
Priority: extra
|
||||
-Build-Depends: dotnet-runtime-3.1, dotnet-sdk-3.1, debhelper (>= 9), build-essential, python-dev, ant,
|
||||
- erlang-base, ruby-dev | ruby1.9.1-dev, ruby-bundler ,autoconf, automake,
|
||||
- pkg-config, libtool, bison, flex, libboost-dev | libboost1.56-dev | libboost1.63-all-dev,
|
||||
- python-all, python-setuptools, python-all-dev, python-all-dbg,
|
||||
+Build-Depends: debhelper (>= 9), build-essential, python-dev,
|
||||
+ autoconf, automake,
|
||||
+ pkg-config, libtool,
|
||||
+ python-all, python-setuptools, python-all-dev,
|
||||
python3-all, python3-setuptools, python3-all-dev, python3-all-dbg,
|
||||
- openjdk-8-jdk | openjdk-8-jdk-headless | openjdk-11-jdk | openjdk-11-jdk-headless | default-jdk,
|
||||
- libboost-test-dev | libboost-test1.56-dev | libboost-test1.63-dev, libevent-dev, libssl-dev, perl (>= 5.8.0-7),
|
||||
- php (>= 5), php-dev (>= 5), libglib2.0-dev, qtchooser, qtbase5-dev-tools
|
||||
+ libevent-dev, libssl-dev, libglib2.0-dev
|
||||
Maintainer: Thrift Developer's <dev@thrift.apache.org>
|
||||
Homepage: http://thrift.apache.org/
|
||||
Vcs-Git: https://github.com/apache/thrift.git
|
||||
@@ -95,65 +93,6 @@ Description: Python bindings for Thrift (debug version)
|
||||
definition to Python classes, and then the modules in this package will allow
|
||||
you to use those classes in your programs.
|
||||
|
||||
-Package: ruby-thrift
|
||||
-Architecture: all
|
||||
-Section: libs
|
||||
-Depends: ruby | ruby-interpreter, ${shlibs:Depends}, ${misc:Depends}
|
||||
-Provides: libthrift-ruby
|
||||
-Replaces: libthrift-ruby
|
||||
-Breaks: libthrift-ruby
|
||||
-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: java
|
||||
-Depends: ${misc:Depends}
|
||||
-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-netstd
|
||||
-Architecture: all
|
||||
-Section: netstd
|
||||
-Depends: dotnet-runtime-3.1, ${misc:Depends}
|
||||
-Description: NET Standard 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 NET Standard 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-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}
|
||||
@@ -187,15 +126,3 @@ Description: Thrift C++ library (development headers)
|
||||
.
|
||||
This package contains the development libraries required for writing C++
|
||||
applications using Thrift.
|
||||
-
|
||||
-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.
|
||||
--
|
||||
2.17.1
|
||||
|
167
src/thrift_0_14_1/thrift.patch/0002-Fix-build-rules.patch
Normal file
167
src/thrift_0_14_1/thrift.patch/0002-Fix-build-rules.patch
Normal file
@ -0,0 +1,167 @@
|
||||
From 99e50d2dbc9e855e457c03e19c4c3b894ffcaa7a Mon Sep 17 00:00:00 2001
|
||||
From: Myron sosyak <myronx.sosyak@intel.com>
|
||||
Date: Fri, 28 Jan 2022 15:02:16 +0000
|
||||
Subject: [PATCH 2/2] Fix build rules
|
||||
|
||||
---
|
||||
debian/libthrift0.install | 1 -
|
||||
debian/rules | 83 +++++++++++----------------------------
|
||||
2 files changed, 24 insertions(+), 60 deletions(-)
|
||||
|
||||
diff --git a/debian/libthrift0.install b/debian/libthrift0.install
|
||||
index ec74efc5c..d4ca21e5e 100644
|
||||
--- a/debian/libthrift0.install
|
||||
+++ b/debian/libthrift0.install
|
||||
@@ -1,5 +1,4 @@
|
||||
usr/lib/libthrift.so*
|
||||
usr/lib/libthrift-*.so*
|
||||
usr/lib/libthriftnb*.so*
|
||||
-usr/lib/libthriftqt*.so*
|
||||
usr/lib/libthriftz*.so*
|
||||
diff --git a/debian/rules b/debian/rules
|
||||
index d0de50872..3a50319ee 100755
|
||||
--- a/debian/rules
|
||||
+++ b/debian/rules
|
||||
@@ -16,7 +16,7 @@
|
||||
# This has to be exported to make some magic below work.
|
||||
export DH_OPTIONS
|
||||
|
||||
-PYVERS := $(shell pyversions -r)
|
||||
+PYVERS := python2 python3
|
||||
|
||||
export CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
|
||||
export CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
|
||||
@@ -29,7 +29,13 @@ configure-stamp:
|
||||
|
||||
# Add here commands to configure the package.
|
||||
if [ -f bootstrap.sh ]; then $(CURDIR)/bootstrap.sh; fi
|
||||
- $(CURDIR)/configure --prefix=/usr --enable-plugin=no
|
||||
+ $(CURDIR)/configure --prefix=/usr --enable-plugin=no \
|
||||
+ --with-cpp --with-c_glib --with-py3 --with-python \
|
||||
+ --without-php_extension --without-perl \
|
||||
+ --without-php --without-java \
|
||||
+ --without-nodejs --without-erlang --without-lua \
|
||||
+ --without-go --without-ruby --with-qt4=no \
|
||||
+ --with-qt5=no --without-rust --disable-tutorial
|
||||
|
||||
touch configure-stamp
|
||||
|
||||
@@ -40,16 +46,7 @@ build: build-arch build-indep
|
||||
# $(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
|
||||
+$(CURDIR)/compiler/cpp/thrift build-arch-stamp: configure-stamp build-libcpp-stamp build-libc-stamp build-compiler-stamp
|
||||
|
||||
# Python library
|
||||
cd $(CURDIR)/lib/py && \
|
||||
@@ -58,11 +55,22 @@ $(CURDIR)/compiler/cpp/thrift build-arch-stamp: configure-stamp
|
||||
$$py-dbg setup.py build; \
|
||||
done
|
||||
|
||||
- # PHP
|
||||
- cd $(CURDIR)/lib/php/src/ext/thrift_protocol && \
|
||||
- phpize && \
|
||||
- ./configure && $(MAKE)
|
||||
+ touch $@
|
||||
|
||||
+build-compiler-stamp: configure-stamp
|
||||
+ # Compile compiler
|
||||
+ $(MAKE) -C $(CURDIR)/compiler/cpp
|
||||
+ touch $@
|
||||
+
|
||||
+
|
||||
+build-libcpp-stamp: configure-stamp build-compiler-stamp
|
||||
+ # Compile C++ library
|
||||
+ $(MAKE) -C $(CURDIR)/lib/cpp
|
||||
+ touch $@
|
||||
+
|
||||
+build-libc-stamp: configure-stamp build-compiler-stamp
|
||||
+ # Compile C (glib) library
|
||||
+ $(MAKE) -C $(CURDIR)/lib/c_glib
|
||||
touch $@
|
||||
|
||||
build-indep: build-indep-stamp
|
||||
@@ -71,19 +79,6 @@ 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/netstd
|
||||
-
|
||||
- # Ruby
|
||||
- $(MAKE) -C $(CURDIR)/lib/rb
|
||||
-
|
||||
- # Perl
|
||||
- $(MAKE) -C $(CURDIR)/lib/perl INSTALLDIRS=vendor
|
||||
-
|
||||
touch $@
|
||||
|
||||
clean:
|
||||
@@ -109,30 +104,6 @@ install-indep:
|
||||
# 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-netstd/usr/lib/cli/thrift/ && \
|
||||
- cp $(CURDIR)/lib/netstd/Thrift/bin/Release/netstandard2.0/Thrift.dll \
|
||||
- $(CURDIR)/debian/libthrift-netstd/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:
|
||||
@@ -154,7 +125,6 @@ install-arch:
|
||||
# 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
|
||||
|
||||
@@ -174,11 +144,6 @@ install-arch:
|
||||
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 && \
|
||||
--
|
||||
2.17.1
|
||||
|
2
src/thrift_0_14_1/thrift.patch/series
Normal file
2
src/thrift_0_14_1/thrift.patch/series
Normal file
@ -0,0 +1,2 @@
|
||||
0001-Remove-unneeded-packages.patch
|
||||
0002-Fix-build-rules.patch
|
Loading…
Reference in New Issue
Block a user