File debian.rules of Package nginx-cf-realip

#!/usr/bin/make -f
# OBS-compatible debian/rules for nginx-cf-realip
# Uses vendored nginx headers (nginx-torblocker proven approach)

VENDOR_DIR = vendor/nginx-1.27.0
MODULE_NAME = ngx_http_cf_realip_module

%:
	dh $@

override_dh_auto_configure:
	# No configure step - using pre-generated vendored headers
	@echo "Using vendored nginx headers from $(VENDOR_DIR)"

override_dh_auto_build:
	# Direct gcc compilation using vendored headers
	# Note: No libcurl - uses native NGINX HTTP fetching
	gcc -shared -fPIC -o $(MODULE_NAME).so \
		-I$(VENDOR_DIR)/src/core \
		-I$(VENDOR_DIR)/src/event \
		-I$(VENDOR_DIR)/src/event/modules \
		-I$(VENDOR_DIR)/src/http \
		-I$(VENDOR_DIR)/src/http/modules \
		-I$(VENDOR_DIR)/src/os/unix \
		-I$(VENDOR_DIR)/objs \
		-DNGX_COMPAT \
		src/$(MODULE_NAME).c \
		-lcrypto

override_dh_auto_install:
	# Install the module
	mkdir -p debian/nginx-cf-realip/usr/lib/nginx/modules
	install -m 0644 $(MODULE_NAME).so debian/nginx-cf-realip/usr/lib/nginx/modules/
	
	# Install documentation
	mkdir -p debian/nginx-cf-realip/usr/share/doc/nginx-cf-realip
	install -m 0644 README.md debian/nginx-cf-realip/usr/share/doc/nginx-cf-realip/
	install -m 0644 conf/example.conf debian/nginx-cf-realip/usr/share/doc/nginx-cf-realip/

override_dh_auto_test:
	# Skip tests (requires nginx runtime)
	@echo "Skipping tests"

override_dh_auto_clean:
	rm -f $(MODULE_NAME).so
	dh_auto_clean
openSUSE Build Service is sponsored by