1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
#!/usr/bin/make -f
# -*- makefile -*-
%:
dh $@ --with autoreconf,python2,python3 --parallel
override_dh_auto_build-arch:
## Chicken<->Egg problem: protobuf requires self-generated .pb.go files to
## be built. First we build it normally; then "generate_descriptor_proto.sh"
## generates .pb.go files and replaces 'em if they are different as well as
## invokes "make protoc" which re-builds "src/protoc" if required.
dh_auto_build --arch
bash -x ./generate_descriptor_proto.sh
# Generate the manpage.
xmlto man debian/protoc.xml
# Python and Python3 build.
cp -rv python python3
cd python && python setup.py build --cpp_implementation
cd python3 && python3 setup.py build --cpp_implementation
override_dh_auto_build-indep:
dh_auto_build --indep
# Java build.
ant -f debian/java-build.xml jar
override_dh_clean:
$(RM) -rv gmock
dh_clean
override_dh_autoreconf: gmock
dh_autoreconf
gmock:
cp -rv debian/gmock ./
cp -rv /usr/src/gmock/src gmock/
cp -rv /usr/src/gtest/src gmock/gtest/
override_dh_auto_test-arch: gmock
dh_auto_test --arch
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
# Python test.
set -e; \
export LD_LIBRARY_PATH=$(CURDIR)/src/.libs; \
cd python && for PYTHON in $(shell pyversions -r); do \
$$PYTHON setup.py test --cpp_implementation; \
done
# Python3 test.
set -e; \
export LD_LIBRARY_PATH=$(CURDIR)/src/.libs; \
cd python3 && for PYTHON in $(shell py3versions -r); do \
$$PYTHON setup.py test --cpp_implementation; \
done
endif
override_dh_auto_test-indep:
:
override_dh_auto_clean-arch:
dh_auto_clean --arch
# Python clean.
set -e; \
cd python && for python in $(shell pyversions -r); do \
$$python setup.py clean --all; \
done
rm -rf python/protobuf.egg-info
# Python3 clean.
rm -rf python3
override_dh_auto_clean-indep:
dh_auto_clean --indep
# Java clean.
ant -f debian/java-build.xml clean || true
mh_clean || true
override_dh_auto_install-arch:
dh_auto_install --arch
# Python install.
set -e; \
cd python && for python in $(shell pyversions -r); do \
$$python setup.py install --cpp_implementation \
--install-layout=deb --no-compile \
--root=$(CURDIR)/debian/python-protobuf; \
done
find $(CURDIR)/debian/python-protobuf -name 'protobuf-*-nspkg.pth' -delete
# Python3 install.
cd python3 && for python in $(shell py3versions -r); do \
$$python setup.py install --cpp_implementation \
--install-layout=deb --no-compile \
--root=$(CURDIR)/debian/python3-protobuf; \
done
find $(CURDIR)/debian/python3-protobuf -name 'protobuf-*-nspkg.pth' -delete
override_dh_auto_install-indep:
dh_auto_install --indep
# Java install.
mh_install
override_dh_install-arch:
dh_install --arch
# Convert doc dir to symlink for the -dev packages.
rm -rf $(CURDIR)/debian/libprotobuf-dev/usr/share/doc/libprotobuf-dev
ln -s libprotobuf10 $(CURDIR)/debian/libprotobuf-dev/usr/share/doc/libprotobuf-dev
rm -rf $(CURDIR)/debian/libprotoc-dev/usr/share/doc/libprotoc-dev
ln -s libprotoc10 $(CURDIR)/debian/libprotoc-dev/usr/share/doc/libprotoc-dev
# Remove compiler headers from libprotobuf-dev.
rm -rf $(CURDIR)/debian/libprotobuf-dev/usr/include/google/protobuf/compiler
|