#!/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 export BAZSRCDIR = ${CURDIR}/debian/bazel-bootstrap-source # Bypass ccache export CCACHE_DISABLE = 1 export CCACHE_TEMPDIR = ${CURDIR}/debian/ccachetmp # Set locale for reproducible builds export LC_ALL = C # 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 \ --action_env=LC_ALL \ --host_action_env=CCACHE_DISABLE \ --host_action_env=CCACHE_TEMPDIR \ --host_action_env=LC_ALL \ --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 export JAVA_VERSION = 17 # Prevent Out-of-Memory failures on some architectures export BAZEL_JAVAC_OPTS = -J-Xmx4096m --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED %: 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/usr/src/bazel-bootstrap ls | sed -r '/(debian|derived|examples|output|site|bazel-)/d' | \ xargs cp -r -t debian/tmp/usr/src/bazel-bootstrap rm -f debian/tmp/usr/src/bazel-bootstrap/scripts/packages/chocolatey/.gitignore rm -rf mock_repos rm -f output/usr/share/bazel/xcode-locator rm -rf output/usr/share/bazel/embedded_tools/tools/jdk/nosystemjdk mv output/etc debian/tmp mv output/usr/bin debian/tmp/usr mv output/usr/share debian/tmp/usr # Fail build (and show culprits) if Bazel components are not properly installed mv output debian/tmp/leftovers ls -laR debian/tmp/leftovers 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 dh_installdocs --package=bazel-bootstrap-source \ --doc-main-package=bazel-bootstrap -XREADME.Debian 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 ${BAZSRCDIR}/usr/src -type f -not -name '*.sh' -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