#!/usr/bin/make -f # SPDX-License-Identifier: Apache-2.0 # debian/rules for nginx-ipng-stats-plugin # # The actual module build is driven by the top-level Makefile, which # copies /usr/share/nginx/src (from nginx-dev) into a writable # build/nginx-src/ and runs the out-of-tree --add-dynamic-module dance # against it. debian/rules just delegates to `make build` and installs # the resulting .so into the package tree. export DH_VERBOSE = 1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all MODULE_NAME := ngx_http_ipng_stats_module PKG := libnginx-mod-http-ipng-stats %: dh $@ override_dh_auto_configure: # No-op: configure happens inside `make build`. override_dh_auto_build: $(MAKE) build override_dh_auto_install: install -D -m 0644 \ $(CURDIR)/build/$(MODULE_NAME).so \ $(CURDIR)/debian/$(PKG)/usr/lib/nginx/modules/$(MODULE_NAME).so install -D -m 0644 \ $(CURDIR)/debian/mod-http-ipng-stats.conf \ $(CURDIR)/debian/$(PKG)/etc/nginx/modules-available/50-mod-http-ipng-stats.conf override_dh_auto_clean: # Intentionally a no-op: dh_auto_clean would call the top-level # Makefile's `clean` target, which wipes build/ wholesale — and # that includes build/nginx-asan/ from a prior `make build-asan`. # Users who want a fresh reset run `make clean` at the top level. override_dh_clean: # `dh_clean` recurses from the package root to remove junk files # (editor backups, autom4te caches, etc.). Two obstacles under # build/: # 1. `make build-asan` produces build/nginx-asan/{fastcgi,proxy, # scgi,uwsgi,client_body}_temp owned by "nobody" with mode # 0700 after the ASan nginx has been run (the 02-asan robot # suite bind-mounts build/nginx-asan/ RW into a container, # and nginx chowns its temp dirs on master startup). The # current user can't traverse them, which makes dh_clean's # `find` abort with EACCES. # 2. We don't want to delete anything under build/ anyway — it # holds the ASan build artifacts from a prior `make build-asan`. # Clear the unreadable temp dirs first (rm -rf only needs write # access to the parent, which we have), then tell dh_clean to # exclude build/ entirely. rm -rf $(CURDIR)/build/nginx-asan/client_body_temp \ $(CURDIR)/build/nginx-asan/fastcgi_temp \ $(CURDIR)/build/nginx-asan/proxy_temp \ $(CURDIR)/build/nginx-asan/scgi_temp \ $(CURDIR)/build/nginx-asan/uwsgi_temp dh_clean -X build/