#!/usr/bin/make -f export DH_VERBOSE = 1 export DESTDIR := $(shell pwd)/debian/opensnitch export UIDESTDIR := $(shell pwd)/debian/python3-opensnitch-ui export EBPFDESTDIR := $(shell pwd)/debian/opensnitch-ebpf-modules ifeq ($(DEB_BUILD_ARCH),amd64) WITH_EBPF := true else ifeq ($(DEB_BUILD_ARCH),arm64) WITH_EBPF := true else ifeq ($(DEB_BUILD_ARCH),riscv64) WITH_EBPF := true else ifeq ($(DEB_BUILD_ARCH),s390x) WITH_EBPF := true else ifeq ($(DEB_BUILD_ARCH),loong64) WITH_EBPF := true else ifeq ($(DEB_BUILD_ARCH),ppc64) WITH_EBPF := true else WITH_EBPF := false endif override_dh_installsystemd: dh_installsystemd --restart-after-upgrade override_dh_auto_build: $(MAKE) protocol # Workaround for Go build problem when building in _build mkdir -p _build/src/github.com/evilsocket/opensnitch/daemon/ui/protocol/ cp daemon/ui/protocol/* _build/src/github.com/evilsocket/opensnitch/daemon/ui/protocol/ dh_auto_build cd ui && python3 setup.py build --force if $(WITH_EBPF) ; then make -C ebpf_prog; fi override_dh_auto_install: # daemon mkdir -p $(DESTDIR)/usr/bin cp _build/bin/daemon $(DESTDIR)/usr/bin/opensnitchd # GUI make -C ui/i18n cp -r ui/i18n/locales/ ui/opensnitch/i18n/ pyrcc5 -o ui/opensnitch/resources_rc.py ui/opensnitch/res/resources.qrc sed -i 's/^import ui_pb2/from . import ui_pb2/' ui/opensnitch/ui_pb2* cd ui && python3 setup.py install --force --root=$(UIDESTDIR) --no-compile -O0 --install-layout=deb # ebpf modules if $(WITH_EBPF); then \ mkdir -p $(EBPFDESTDIR)/usr/lib/opensnitchd/ebpf ; \ make -C ebpf_prog && cp ebpf_prog/opensnitch*o $(EBPFDESTDIR)/usr/lib/opensnitchd/ebpf/ ; \ fi # daemon dh_auto_install %: dh $@ --builddirectory=_build --buildsystem=golang --with=golang,python3 override_dh_auto_clean: dh_auto_clean $(MAKE) clean $(RM) daemon/ui/protocol/ui_grpc.pb.go $(RM) ui/opensnitch/resources_rc.py $(RM) -r ui/opensnitch/i18n/ $(RM) ui/i18n/locales/*/*.qm cd ui && python3 setup.py clean -a $(RM) -r ui/opensnitch_ui.egg-info/ find ui -name \*.pyc -exec rm {} \; $(MAKE) -C ebpf_prog/ clean