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
|
#!/usr/bin/make -f
export DH_VERBOSE = 1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
#DPKG_EXPORT_BUILDFLAGS = 1
#include /usr/share/dpkg/buildflags.mk
export VERBOSE = yes
export BAZDIR = ${CURDIR}/debian/bazel-bootstrap
export BAZDATADIR = ${CURDIR}/debian/bazel-bootstrap-data
# Bypass ccache
export CCACHE_DISABLE = 1
export CCACHE_TEMPDIR = ${CURDIR}/debian/ccachetmp
# Ensure packages build with no Internet access
export http_proxy=127.0.0.1:9
export https_proxy=127.0.0.1:9
# BAZEL_CXXOPTS and BAZEL_LINKOPTS take a list of flags seperated by colon
export space = $() $()
export BAZEL_CXXOPTS = $(subst $(space),:,-std=c++0x ${CPPFLAGS} ${CXXFLAGS})
export BAZEL_LINKOPTS = $(subst $(space),:,-lstdc++ -lm ${LDFLAGS})
# Use the local JDK
export EXTRA_BAZEL_ARGS = \
--host_javabase=@local_jdk//:jdk \
--define=distribution=debian \
--noremote_accept_cached \
--verbose_failures \
--subcommands \
--compilation_mode dbg \
--action_env=CCACHE_DISABLE \
--action_env=CCACHE_TEMPDIR \
--sandbox_debug \
--sandbox_writable_path=${CCACHE_TEMPDIR} \
--override_repository=com_google_protobuf=${CURDIR}/tools/distributions/debian/protobuf \
--override_repository=remote_java_tools_linux=${CURDIR}/mock_repos/remote_java_tools_linux \
--override_repository=bazel_skylib=${CURDIR}/mock_repos/bazel_skylib \
--override_repository=io_bazel_skydoc=${CURDIR}/mock_repos/bazel_skydoc \
--override_repository=rules_pkg=${CURDIR}/mock_repos/rules_pkg \
--override_repository=rules_cc=${CURDIR}/mock_repos/rules_cc \
--override_repository=rules_java=${CURDIR}/mock_repos/rules_java \
--override_repository=rules_proto=${CURDIR}/mock_repos/rules_proto \
--override_repository=platforms=${CURDIR}/mock_repos/platforms \
--distinct_host_configuration=false
export PROTOC = /usr/bin/protoc
export GRPC_JAVA_PLUGIN = /usr/bin/grpc_java_plugin
# Prevent Out-of-Memory failures on some architectures
export BAZEL_JAVAC_OPTS = -J-Xmx4096m
%:
dh $@ --with python3
override_dh_auto_build:
mkdir -p ${CCACHE_TEMPDIR}
./compile.sh
override_dh_auto_clean:
dh_auto_clean
rm -rf derived
rm -rf output
rm -rf bazel-*
override_dh_install:
mkdir -p debian/tmp
rm -f output/usr/share/bazel/xcode-locator
rm -rf output/usr/share/bazel/embedded_tools/tools/jdk/nosystemjdk
mv output/* debian/tmp
dh_install
rm -rf ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/zip/zipper
override_dh_installdocs-arch:
dh_installdocs --package=bazel-bootstrap -XREADME.Debian
override_dh_installdocs-indep:
dh_installdocs --package=bazel-bootstrap-data --doc-main-package=bazel-bootstrap
override_dh_link-indep:
jdupes -rl ${BAZDATADIR}/usr
find ${BAZDATADIR}/usr/share/bazel/embedded_tools -type f -name \
'*.h' -printf '%h\n' | sort -u | sed 's@/build.*embedded_tools/@@' | \
xargs -I% mkdir -p ${BAZDATADIR}/usr/include/bazel/%
find ${BAZDATADIR}/usr/share/bazel/embedded_tools -name '*.h' | \
sed 's@/build.*/embedded_tools/@@g' | xargs -I% ln -rs \
${BAZDATADIR}/usr/share/bazel/embedded_tools/% \
${BAZDATADIR}/usr/include/bazel/%
dh_link
override_dh_fixperms-indep:
find ${BAZDATADIR}/usr/share -type f -print0 2>/dev/null | xargs -0r chmod a-x
find ${BAZDATADIR}/usr/share/doc/bazel/examples -type f \
-not -name '*.sh' -print0 2>/dev/null | xargs -0r chmod a-x
find ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools \
-type f -name '*.sh*' -print0 2>/dev/null | xargs -0r chmod a+x
chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/buildstamp/get_workspace_status
chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/cpp/build_interface_so
chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/cpp/linux_cc_wrapper.sh.tpl
chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/cpp/osx_cc_wrapper.sh.tpl
chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/objc/gcov_stub
chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/objc/mcov_stub
chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/objc/protobuf_support
chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/python/pywrapper_template.txt
dh_fixperms
#dh_bash-completion is not correctly annotating that it has installed files
override_dh_missing:
dh_missing -Xbazel-complete.bash
|