#!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 include /usr/share/dpkg/architecture.mk # This has to be exported to make some magic below work. export DH_OPTIONS VER := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\(.*\)-.*$$/\1/ p' | sed -e 's/~.*//') JAVA_HOME=/usr/lib/jvm/java-17-openjdk-$(DEB_BUILD_ARCH) PKI_JAVA_HOME=debian/tmp/usr/share/pki/java-home PKI_JAVA_PATH=/usr/share/pki/java-home/bin/java CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS) export CFLAGS += -I/usr/include/nss $(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) export CXXFLAGS += -I/usr/include/nss -I/usr/include/apr-1.0 $(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS) export LDFLAGS += $(shell dpkg-buildflags --get LDFLAGS) DEB_BUILD_DIR ?= $(CURDIR)/build CONFIGS = core STAMP_DIR = debian/stamp STAMP = $(STAMP_DIR)/$(DEB_BUILD_GNU_TYPE) BUILD_STAMPS = $(addprefix $(STAMP)-build-, $(CONFIGS)) confflags = confflags-core = \ -DJAVA_HOME=$(JAVA_HOME) \ -DVERSION=$(VER) \ -DSYSTEMD_LIB_INSTALL_DIR=/lib/systemd/system \ -DVAR_INSTALL_DIR:PATH=/var \ -DP11_KIT_TRUST=/usr/lib/$(DEB_HOST_MULTIARCH)/pkcs11/p11-kit-trust.so \ -DPKI_CERTSRV_JAR=$(DEB_BUILD_DIR)/core/dist/pki-certsrv.jar \ -DPKI_CMS_JAR=$(DEB_BUILD_DIR)/core/dist/pki-cms.jar \ -DPKI_CMSBUNDLE_JAR=$(DEB_BUILD_DIR)/core/dist/pki-cmsbundle.jar \ -DPKI_CMSUTIL_JAR=$(DEB_BUILD_DIR)/core/dist/pki-cmsutil.jar \ -DNSS_DEFAULT_DB_TYPE=sql \ -DAPP_SERVER=tomcat-9.0 \ -DWITH_CONSOLE:BOOL=ON \ -DTHEME=dogtag \ -DRUN_TESTS=OFF \ %: dh $@ --with javahelper,python3 --builddirectory=build/ \ --buildsystem=pybuild override_dh_auto_clean: rm -rf $(CURDIR)/build rm -f $(CURDIR)/base/common/python/pki/*.pyc rm -rf $(CURDIR)/tomcat rm -rf $(CURDIR)/.pybuild rm -rf $(CURDIR)/base/common/python/pki/__pycache__ rm -rf $(CURDIR)/base/symkey/src/main/java/com/netscape/symkey/SessionKey.class override_dh_auto_configure: build-stamp: $(BUILD_STAMPS) >$@ $(STAMP)-build-%: mkdir -p $(DEB_BUILD_DIR)/$* cd $(DEB_BUILD_DIR)/$* && \ cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DSYSCONF_INSTALL_DIR:PATH=/etc \ -DVAR_INSTALL_DIR:PATH=/var \ -DJAVA_LIB_INSTALL_DIR=/usr/share/java \ $(confflags-$*) \ ../../ cd $(DEB_BUILD_DIR)/$* && make VERBOSE=1 $(MAKE_FLAGS) override_dh_auto_build: build-stamp override_dh_auto_install: set -e; for config in $(CONFIGS); do \ make -C $(DEB_BUILD_DIR)/$$config DESTDIR=$(CURDIR)/debian/tmp install; \ done find $(CURDIR)/debian/tmp/usr/share/pki -name '*.cgi' -exec chmod 755 '{}' ';' find $(CURDIR)/debian/tmp/usr/share/pki -name '*.pl' -exec chmod 755 '{}' ';' find $(CURDIR)/debian/tmp/lib/systemd -exec chmod 644 '{}' ';' rm -f $(CURDIR)/debian/tmp/lib/systemd/pki-tomcatd@.service override_dh_installinit: dh_installinit -ppki-server --name=pki-tomcatd --error-handler=invoke_failure override_dh_installsystemd: dh_installsystemd -ppki-server --no-enable --name pki-tomcatd@ dh_installsystemd -ppki-server --no-enable pki-tomcatd-nuxwdog@.service override_dh_install: # we don't use these rm -rf $(CURDIR)/debian/tmp/etc/rc.d # tpsclient hasn't been ported to java yet rm -rf $(CURDIR)/debian/tmp/lib/systemd/system/pki-tpsd* \ $(CURDIR)/debian/tmp/usr/lib/httpd/modules/mod_tps.so \ $(CURDIR)/debian/tmp/usr/lib/httpd/modules/mod_tokendb.so \ $(CURDIR)/debian/tmp/usr/lib/tps/libldapauth.so \ $(CURDIR)/debian/tmp/usr/share/pki/tps/cgi-bin \ $(CURDIR)/debian/tmp/usr/share/pki/tps/docroot \ $(CURDIR)/debian/tmp/usr/share/pki/tps/lib \ $(CURDIR)/debian/tmp/usr/share/pki/tps/scripts \ $(CURDIR)/debian/tmp/usr/share/pki/tps/samples # not needed since we don't ship any binary applets rm -rf $(CURDIR)/debian/tmp/usr/share/pki/tps/applets # use our own symlink to the arch-dependent java dir ln -sf $(JAVA_HOME) $(PKI_JAVA_HOME) sed -i 's/lib\/jvm\/java-11-openjdk.*/share\/pki\/java-home/' \ debian/tmp/usr/share/pki/etc/pki.conf rm -f $(CURDIR)/debian/tmp/usr/share/pki/lib/resteasy-jaxrs-jandex.jar dh_install mkdir -p debian/pki-server/usr/share/pki cp debian/tomcat-start.sh debian/pki-server/usr/share/pki override_dh_missing: dh_missing --fail-missing get-orig-source: SOURCE=dogtag-pki get-orig-source: UV=$(shell dpkg-parsechangelog|awk '/^Version:/ {print $$2}'|sed 's/-.*$$//') get-orig-source: tar --transform 's,^,$(SOURCE)-$(UV)/,' \ --exclude 'debian' --exclude-vcs \ -cJf ../$(SOURCE)_$(UV).orig.tar.xz .