#!/usr/bin/make -f
# -*- makefile -*-
# debian/rules for PHP defaults
# Copyright (C) 2011 Ondřej Surý
# Published under the Expat license
#
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

include /usr/share/dpkg/default.mk

PHP_DEFAULT_VERSION    := 8.4
PHP_SUPPORTED_VERSIONS := 8.4
PHP_BREAKS_VERSIONS := 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3

, := ,
PHP_DEV_PACKAGES       := $(addprefix php,$(addsuffix -dev$(,),$(PHP_SUPPORTED_VERSIONS))), $(addprefix php,$(addsuffix -json$(,),$(PHP_SUPPORTED_VERSIONS))), $(addprefix php,$(addsuffix -xml$(,),$(PHP_SUPPORTED_VERSIONS))), $(addprefix php,$(addsuffix -mbstring$(,),$(PHP_SUPPORTED_VERSIONS)))
PHP_BREAKS_PACKAGES    := $(addprefix php,$(addsuffix -common$(,),$(PHP_BREAKS_VERSIONS)))

PHP_COMMON_DIRS        := $(addprefix /etc/php/,$(addsuffix /mods-available,$(PHP_SUPPORTED_VERSIONS)))

PHP_COMMON_DEB_VERSION := 2:$(DEB_VERSION)
PHP_DEB_VERSION        := 2:$(PHP_DEFAULT_VERSION)+$(DEB_VERSION)

SED=sed

export DH_OPTIONS

DH_SYSTEMD := --with systemd

# Disable systemd on non-Linux buildds
ifneq (linux,$(DEB_HOST_ARCH_OS))
  DH_SYSTEMD :=
endif

%:
	dh $@ $(DH_SYSTEMD)

override_dh_auto_configure:
	:

override_dh_auto_make:
	:

override_dh_auto_install:
	:

override_dh_installcron:
	dh_installcron -pphp-common --name=php

debian/control: debian/control.in debian/rules debian/changelog
	$(SED) -e "s/@PHP_VERSION@/$(PHP_DEFAULT_VERSION)/g" \
	       -e "s/@PHP_DEV_PACKAGES@/$(PHP_DEV_PACKAGES)/g" \
	       -e "s/@PHP_BREAKS_PACKAGES@/$(PHP_BREAKS_PACKAGES),/g" \
	    >$@ <$<
	echo >> $@
	cat debian/modulelist | while read -r module description; do \
	    package=php-$${module}; \
	    depends=php$(PHP_DEFAULT_VERSION)-$${module}; \
	    $(SED) -e "s/@package@/$${package}/" \
	           -e "s/@depends@/$${depends}/" \
	           -e "s/@description@/$${description}/" \
	           -e "s/@PHP_VERSION@/$(PHP_DEFAULT_VERSION)/g" \
	        < debian/php-module.control.in \
	        >> $@; \
	    echo >> $@; \
	done
	for f in php-cgi.links php-cli.links php-common.links php-dev.links php-phpdbg.links; do \
	    $(SED) -e "s/@PHP_VERSION@/$(PHP_DEFAULT_VERSION)/g" \
	        < "debian/$$f.in" > "debian/$$f"; \
	done
	-wrap-and-sort -ab

override_dh_installdirs:
	dh_installdirs -i -pphp-common $(PHP_COMMON_DIRS)
	dh_installdirs -i --remaining-packages

override_dh_fixperms:
	chmod 01733 debian/php-common/var/lib/php/sessions
	dh_fixperms -i -pphp-common -X/var/lib/php/sessions
	dh_fixperms -i --remaining-packages

override_dh_gencontrol:
	dh_gencontrol -pphp-common  -- -v$(PHP_COMMON_DEB_VERSION)
	dh_gencontrol -pphp-all-dev -- -v$(PHP_COMMON_DEB_VERSION)
	dh_gencontrol --remaining-packages -- -v$(PHP_DEB_VERSION)

override_dh_systemd_enable:
	dh_systemd_enable --package=php-common --name phpsessionclean phpsessionclean.timer
	dh_systemd_enable --package=php-common --name phpsessionclean --no-enable phpsessionclean.service

override_dh_systemd_start:
	dh_systemd_start --package=php-common phpsessionclean.timer
	dh_systemd_start --package=php-common --no-start phpsessionclean.service

.PHONY: debian/control