#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
export SHELL := /bin/bash
.SHELLFLAGS := -c
export DH_VERBOSE = 1
export DH_OPTIONS = -v
export apiver = 20151012
export zendver = 20151012
export pdover = 20150127

export altdir = /opt/alt/php70
scl_dir := /opt/cloudlinux/alt-php70

litespeed_ver = 8.1

CODENAME ?= $(shell lsb_release -sc)
OS_NAME := $(shell cat /etc/os-release | grep '^ID=' | cut -d'=' -f2 | sed -e 's@"@@g')
OS_VER  := $(shell cat /etc/os-release | grep '^VERSION_ID=' | cut -d'=' -f2 | sed -e 's@"@@g')

buildroot := $(CURDIR)/debian/tmp
_bindir := $(altdir)/usr/bin
_sbindir := $(altdir)/usr/sbin

export mods = pgsql odbc ldap snmp xmlrpc imap \
 mbstring gd dom xsl soap bcmath dba xmlreader xmlwriter \
 pdo pdo_pgsql pdo_odbc pdo_sqlite json zip \
 phar fileinfo intl pspell wddx mssql \
 mcrypt tidy enchant recode interbase pdo_firebird \
 nd_mysqli nd_pdo_mysql mysqlnd \
 posix sysvshm sysvsem sysvmsg opcache sockets pdo_dblib

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

LDFLAGS = -L$(altdir)/usr/lib/$(DEB_HOST_MULTIARCH) -Wl,-rpath=$(altdir)/usr/lib/$(DEB_HOST_MULTIARCH)
ifeq ($(shell [[ "$(OS_NAME)" == "ubuntu" && $$(expr $(OS_VER) \<= 20.04) == 1 ]] || [[ "$(OS_NAME)" == "debian" && $$(expr $(OS_VER) \<= 10) == 1 ]] && echo 0), 0)
LIBPCRE=-rpath=/opt/alt/pcre/usr/lib/$(DEB_HOST_MULTIARCH)
LIBC_CLIENT=-rpath=/opt/alt/libc-client/lib/$(DEB_HOST_MULTIARCH)
LDFLAGS := -L/usr/lib -L/opt/alt/libc-client/lib/$(DEB_HOST_MULTIARCH) -Wl,$(LIBPCRE),$(LIBC_CLIENT)
endif
ifeq ($(shell [[ "$(OS_NAME)" == "ubuntu" && $$(expr $(OS_VER) \>= 22.04) == 1 ]] || [[ "$(OS_NAME)" == "debian" && $$(expr $(OS_VER) \>= 11) == 1 ]] && echo 0), 0)
LIBCURL=-rpath=/opt/alt/curlssl/usr/lib/$(DEB_HOST_MULTIARCH)
LIBSSH=-rpath=/opt/alt/libssh2/lib/$(DEB_HOST_MULTIARCH)
LIBSSL=-rpath=/opt/alt/openssl/lib/$(DEB_HOST_MULTIARCH)
LDFLAGS += -L/opt/alt/curlssl/usr/lib/$(DEB_HOST_MULTIARCH) -L/opt/alt/libssh2/lib/$(DEB_HOST_MULTIARCH) -L/opt/alt/openssl/lib/$(DEB_HOST_MULTIARCH) -L/opt/alt/curlssl/usr/lib -Wl,$(LIBCURL),$(LIBSSH),$(LIBSSL)
export PKG_CONFIG_PATH = /opt/alt/curlssl/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig:/opt/alt/libssh2/lib/$(DEB_HOST_MULTIARCH)/pkgconfig:/opt/alt/openssl/lib/$(DEB_HOST_MULTIARCH)/pkgconfig
export CC = gcc -DTRUE=1 -DFALSE=0
export CXX = g++ -DTRUE=1 -DFALSE=0
endif

SED_ALT_LIBS := \
sed -i 's@SQLITE3_SHARED_LIBADD =@SQLITE3_SHARED_LIBADD = -Wl,-rpath,/opt/alt/sqlite/usr/lib/$(DEB_HOST_MULTIARCH) @' Makefile; \
sed -i 's@PDO_SQLITE_SHARED_LIBADD =@PDO_SQLITE_SHARED_LIBADD = -Wl,-rpath,/opt/alt/sqlite/usr/lib/$(DEB_HOST_MULTIARCH) @' Makefile;

ifeq ($(shell [[ "$(OS_NAME)" == "ubuntu" && $$(expr $(OS_VER) \<= 20.04) == 1 ]] && echo 0), 0)
SED_ALT_LIBS += \
sed -i 's@INTL_SHARED_LIBADD =@INTL_SHARED_LIBADD = -Wl,-rpath,/opt/alt/libicu57/usr/lib/$(DEB_HOST_MULTIARCH) @' Makefile;
endif

CFLAGS += -I/usr/include -fno-strict-aliasing -Wno-pointer-sign
ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
  CFLAGS += -O2
else
  CFLAGS += -O0
endif
export CFLAGS
export LDFLAGS

# Install extension modules in %${libdir}/php/modules.
export EXTENSION_DIR=$(altdir)/usr/lib/$(DEB_HOST_MULTIARCH)/php/modules

# Set PEAR_INSTALLDIR to ensure that the hard-coded include_path
# includes the PEAR directory even though pear is packaged
# separately.
export PEAR_INSTALLDIR=$(altdir)/usr/share/pear

# see FEATURE AREAS in dpkg-buildflags(1)
# export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
# package maintainers to append LDFLAGS
export DEB_LDFLAGS_MAINT_APPEND = -L/usr/lib -Wl,--as-needed

NJOBS := -j$(shell getconf _NPROCESSORS_ONLN)

TARGETS := cgi litespeed fpm mysqlnd

COMMON_CONFIG := \
	   --build=$(DEB_BUILD_GNU_TYPE) \
	   --host=$(DEB_HOST_GNU_TYPE) \
	   --target=$(DEB_BUILD_GNU_TYPE) \
	   --program-prefix= \
	   --prefix=$(altdir) \
	   --exec-prefix=$(altdir) \
	   --bindir=$(_bindir) \
	   --sbindir=$(_sbindir) \
	   --sysconfdir=$(altdir)/etc \
	   --datadir=$(altdir)/usr/share \
	   --includedir=$(altdir)/usr/include \
	   --libdir=$(altdir)/usr/lib/$(DEB_HOST_MULTIARCH) \
	   --with-libdir=lib/$(DEB_HOST_MULTIARCH) \
	   --libexecdir=$(altdir)/usr/libexec \
	   --localstatedir=/var \
	   --sharedstatedir=/usr/com \
	   --mandir=$(altdir)/usr/share/man \
	   --infodir=$(altdir)usr/share/info \
	   --cache-file=$(CURDIR)/config.cache \
	   --with-config-file-scan-dir=$(altdir)/link/conf \
	   --with-config-file-path=$(altdir)/etc \
	   --disable-debug \
	   --enable-calendar \
	   --enable-exif \
	   --enable-ftp \
	   --enable-gd-native-ttf \
	   --enable-huge-code-pages \
	   --enable-opcache \
	   --enable-opcache-file \
	   --enable-shmop \
	   --enable-sockets=shared \
	   --enable-sysvmsg=shared \
	   --enable-sysvsem=shared \
	   --enable-sysvshm=shared \
	   --enable-xml \
	   --with-bz2 \
	   --with-freetype-dir=/usr \
	   --with-gettext \
	   --with-gmp \
	   --with-iconv \
	   --with-jpeg-dir=/usr \
	   --with-layout=GNU \
	   --with-libxml-dir=/usr \
	   --with-mcrypt=shared,/usr \
	   --with-mhash \
	   --with-pcre-jit \
	   --with-pic \
	   --with-png-dir=/usr \
	   --with-readline \
	   --with-tidy=shared,/usr \
	   --with-webp-dir=/usr \
	   --with-xpm-dir=/usr \
	   --with-zlib \
	   --with-zlib-dir=/ \
	   --without-gdbm \
	   --without-pear
ifeq ($(shell [[ "$(OS_NAME)" == "ubuntu" && $$(expr $(OS_VER) \<= 20.04) == 1 ]] || [[ "$(OS_NAME)" == "debian" && $$(expr $(OS_VER) \<= 10) == 1 ]] && echo 0), 0)
COMMON_CONFIG += --with-pcre-regex=/opt/alt/pcre/usr \
	   --with-curl=/usr \
	   --with-openssl-dir=/usr \
	   --with-openssl=yes
else
COMMON_CONFIG += --with-pcre-regex \
	   --with-curl=/opt/alt/curlssl/usr \
	   --with-openssl-dir=/opt/alt/openssl \
	   --with-openssl=yes
endif

export cgi_config = \
	   $(COMMON_CONFIG) \
	   --enable-cgi \
	   --enable-bcmath=shared \
	   --enable-dba=shared \
	   --enable-dom=shared \
	   --enable-fastcgi \
	   --enable-fileinfo=shared \
	   --enable-intl=shared \
	   --enable-json=shared \
	   --enable-mbregex \
	   --enable-mbstring=shared \
	   --enable-pcntl \
	   --enable-pdo=shared \
	   --enable-phar=shared \
	   --enable-posix=shared \
	   --enable-soap=shared \
	   --enable-wddx=shared \
	   --enable-xmlreader=shared --enable-xmlwriter=shared \
	   --enable-zip=shared \
	   --with-enchant=shared,/usr \
	   --with-gd=shared \
	   --with-interbase=shared,/usr \
	   --with-kerberos \
	   --with-ldap=shared --with-ldap-sasl \
	   --with-pdo-dblib=shared,/usr \
	   --with-pdo-firebird=shared,/usr \
	   --with-pdo-odbc=shared,unixODBC,/usr \
	   --with-pdo-pgsql=shared,/usr \
	   --with-pgsql=shared \
	   --with-pspell=shared \
	   --with-recode=shared,/usr \
	   --with-snmp=shared,/usr \
	   --with-unixODBC=shared,/usr \
	   --with-xmlrpc=shared \
	   --with-xsl=shared,/usr \
	   --with-sqlite3=/opt/alt/sqlite/usr \
	   --with-pdo-sqlite=shared,/opt/alt/sqlite/usr

ifeq ($(shell [[ "$(OS_NAME)" == "ubuntu" && $$(expr $(OS_VER) \<= 20.04) == 1 ]] || [[ "$(OS_NAME)" == "debian" && $$(expr $(OS_VER) \<= 10) == 1 ]] && echo 0), 0)
export cgi_config += \
	   --with-icu-dir=/opt/alt/libicu57/usr \
	   --with-imap=shared,/opt/alt/libc-client --with-imap-ssl \
	   --with-libzip=/opt/alt/libzip/usr
else
export cgi_config += \
	   --with-icu-dir \
	   --with-imap=shared --with-imap-ssl=/opt/alt/openssl \
	   --with-libzip
endif

export litespeed_config = \
	   $(COMMON_CONFIG) \
	   --with-litespeed \
	   --enable-bcmath=shared \
	   --enable-dba=shared \
	   --enable-dom=shared \
	   --enable-fileinfo=shared \
	   --enable-intl=shared \
	   --enable-json=shared \
	   --enable-mbregex \
	   --enable-mbstring=shared \
	   --enable-pcntl \
	   --enable-pdo=shared \
	   --enable-phar=shared \
	   --enable-posix=shared \
	   --enable-soap=shared \
	   --enable-sysvmsg=shared \
	   --enable-sysvsem=shared \
	   --enable-sysvshm=shared \
	   --enable-wddx=shared \
	   --enable-xmlreader=shared \
	   --enable-xmlwriter=shared \
	   --enable-zip=shared \
	   --with-enchant=shared,/usr \
	   --with-gd=shared \
	   --with-kerberos \
	   --with-ldap=shared --with-ldap-sasl \
	   --with-pdo-pgsql=shared,/usr \
	   --with-pgsql=shared \
	   --with-pspell=shared \
	   --with-recode=shared,/usr \
	   --with-snmp=shared,/usr \
	   --with-xmlrpc=shared \
	   --with-xsl=shared,/usr \
	   --with-sqlite3=/opt/alt/sqlite/usr \
	   --with-pdo-sqlite=shared,/opt/alt/sqlite/usr

ifeq ($(shell [[ "$(OS_NAME)" == "ubuntu" && $$(expr $(OS_VER) \<= 20.04) == 1 ]] || [[ "$(OS_NAME)" == "debian" && $$(expr $(OS_VER) \<= 10) == 1 ]] && echo 0), 0)
export litespeed_config += \
	   --with-icu-dir=/opt/alt/libicu57/usr \
	   --with-imap=shared,/opt/alt/libc-client --with-imap-ssl
else
export litespeed_config += \
	   --with-icu-dir \
	   --with-imap=shared --with-imap-ssl=/opt/alt/openssl
endif

export fpm_config = \
	   $(COMMON_CONFIG) \
	   --enable-fpm --with-fpm-systemd \
	   --enable-bcmath=shared \
	   --enable-dba=shared \
	   --enable-dom=shared \
	   --enable-fileinfo=shared \
	   --enable-intl=shared \
	   --enable-json=shared \
	   --enable-mbregex \
	   --enable-mbstring=shared \
	   --enable-pcntl \
	   --enable-phar=shared \
	   --enable-posix=shared \
	   --enable-soap=shared \
	   --enable-wddx=shared \
	   --enable-xmlreader=shared \
	   --enable-xmlwriter=shared \
	   --enable-zip=shared \
	   --with-enchant=shared,/usr \
	   --with-gd=shared \
	   --with-kerberos \
	   --with-ldap=shared --with-ldap-sasl \
	   --with-pdo-pgsql=shared,/usr \
	   --with-pgsql=shared \
	   --with-pspell=shared \
	   --with-recode=shared,/usr \
	   --with-snmp=shared,/usr \
	   --with-xmlrpc=shared \
	   --with-xsl=shared,/usr \
	   --with-sqlite3=/opt/alt/sqlite/usr \
	   --with-pdo-sqlite=shared,/opt/alt/sqlite/usr

ifeq ($(shell [[ "$(OS_NAME)" == "ubuntu" && $$(expr $(OS_VER) \<= 20.04) == 1 ]] || [[ "$(OS_NAME)" == "debian" && $$(expr $(OS_VER) \<= 10) == 1 ]] && echo 0), 0)
export fpm_config += \
	   --with-icu-dir=/opt/alt/libicu57/usr \
	   --with-imap=shared,/opt/alt/libc-client --with-imap-ssl
else
export fpm_config += \
	   --with-icu-dir \
	   --with-imap=shared --with-imap-ssl=/opt/alt/openssl
endif

export mysqlnd_config = \
	   $(COMMON_CONFIG) \
	   --enable-mysqlnd=shared \
	   --enable-pdo=shared \
	   --with-mysqli=shared,mysqlnd \
	   --with-pdo-mysql=shared,mysqlnd \
	   --with-pdo-pgsql=shared,/usr \
	   --with-pdo-sqlite=shared,/opt/alt/sqlite/usr

%:
	dh $@ --with apache2 --without autoreconf

prep_build:
	tar xzf debian/src/php-litespeed-$(litespeed_ver).tgz
	cp litespeed*/*.{h,c} sapi/litespeed
	patch -p1 < debian/patches/php-7.0-recode.patch
	patch -p1 < debian/patches/php-7.0.x-mail-header.patch
	patch -p1 <debian/patches/cloudlinux-php-fpm.7.0.dl.ea-php.v2.patch
ifeq ($(shell [[ "$(OS_NAME)" == "debian" && $$(expr $(OS_VER) \>= 12) == 1 ]] && echo 0), 0)
	patch -p1 < debian/patches/php-7.0.33-fix-for-openssl-3.0.x.patch
endif
	patch -p1 <debian/patches/litespeed-8.0.1-process_lsapi_phpini.patch
	patch -p1 <debian/patches/litespeed-8.0.1-userini_homedir.patch
	patch -p1 <debian/patches/litespeed-8.0.1-log.patch
	patch -p1 <debian/patches/litespeed-8.0.1.use_reject.patch
	patch -p1 <debian/patches/litespeed-8.0.1.avoid_zombies.patch
	patch -p1 <debian/patches/litespeed-8.0.1.dis_keeplistener.patch
	patch -p1 <debian/patches/litespeed-8.0.1-graceful_stop.patch
	patch -p1 <debian/patches/litespeed-8.0.1.crash_limit.patch
	patch -p1 <debian/patches/litespeed-8.0.1-tsrmls.patch
	patch -p1 <debian/patches/litespeed-8.1-cloudlinux.patch
	patch -p1 <debian/patches/litespeed-8.0.1.wink_fix.patch
	patch -p1 <debian/patches/litespeed-8.0.1-move_override_ini.patch
	patch -p1 < debian/patches/php-7.0.14-bug71465.patch
	patch -p1 < debian/patches/php-7.x.y-bug70110.patch
	patch -p1 < debian/patches/php-7.0.25-curl-mariadb102.patch
	patch -p1 < debian/patches/php-7.0.27-pdo_oci_m4.patch
	patch -p1 < debian/patches/php-7.0.30-bug74385.patch
	patch -p1 < debian/patches/php-7.0.30-bug76075.patch
	patch -p1 < debian/patches/php-7.0.30-bug76205.patch
	patch -p1 < debian/patches/fix_path_imap_lib.patch
	patch -p1 < debian/patches/php-7.0.33-bug77242.patch
	patch -p1 < debian/patches/php-7.0.33-bug77380.patch
	patch -p1 < debian/patches/php-7.0.33-bug77247.patch
	patch -p1 < debian/patches/php-7.0.33-bug77370.patch
	patch -p1 < debian/patches/php-7.0.33-bug77418.patch
	patch -p1 < debian/patches/php-7.0.33-bug77270.patch
	patch -p1 < debian/patches/php-7.0.33-bug77269.patch
	patch -p1 < debian/patches/php-7.0.33-bug77371.patch
	patch -p1 < debian/patches/php-7.0.33-bug77630.patch
	patch -p1 < debian/patches/php-7.0.33-bug77494.patch
	patch -p1 < debian/patches/php-7.0.33-bug77431.patch
	patch -p1 < debian/patches/php-7.0.33-bug51068.patch
	patch -p1 < debian/patches/php-7.0.33-bug77396.patch
	patch -p1 < debian/patches/php-7.0.33-bug77540.patch
	patch -p1 < debian/patches/php-7.0.33-bug77390.patch
	patch -p1 < debian/patches/php-7.0.33-bug77586.patch
	patch -p1 < debian/patches/php-7.0.33-bug77546.patch
	patch -p1 < debian/patches/php-7.0.33-bug77563.patch
	patch -p1 < debian/patches/php-7.0.33-bug77677.patch
	patch -p1 < debian/patches/php-7.0.33-bug77652.patch
	patch -p1 < debian/patches/php-7.0.33-bug75113.patch
	patch -p1 < debian/patches/php-7.0.33-bug76717.patch
	patch -p1 < debian/patches/php-7.0.33-bug77597.patch
	patch -p1 < debian/patches/php-7.0.33-bug77700.patch
	patch -p1 < debian/patches/php-7.0.33-bug77765.patch
	patch -p1 < debian/patches/php-7.0.33-bug77767.patch
	patch -p1 < debian/patches/php-7.0.33-bug77722.patch
	patch -p1 < debian/patches/php-7.0.33-bug77664.patch
	patch -p1 < debian/patches/php-7.0.33-bug50020.patch
	patch -p1 < debian/patches/php-7.0.33-bug77742.patch
	patch -p1 < debian/patches/php-7.0.33-bug77738.patch
	patch -p1 < debian/patches/php-7.0.33-bug77660.patch
	patch -p1 < debian/patches/php-7.0.33-bug77843.patch
	patch -p1 < debian/patches/php-7.0.33-bug77024.patch
	patch -p1 < debian/patches/php-7.0.33-bug77945.patch
	patch -p1 < debian/patches/php-7.0.33-bug77943.patch
	patch -p1 < debian/patches/php-7.0.33-bug77944.patch
	patch -p1 < debian/patches/php-7.0.33-bug77921.patch
	patch -p1 < debian/patches/php-7.0.33-bug77934.patch
	patch -p1 < debian/patches/php-7.0.33-bug75186.patch
	patch -p1 < debian/patches/php-7.0.33-bug78069.patch
	patch -p1 < debian/patches/php-7.0.33-bug77967.patch
	patch -p1 < debian/patches/php-7.0.33-bug77973.patch
	patch -p1 < debian/patches/php-7.0.33-bug77988.patch
	patch -p1 < debian/patches/php-7.0.33-bug78291.patch
	patch -p1 < debian/patches/php-7.0.33-bug77919.patch
	patch -p1 < debian/patches/php-7.0.33-bug78192.patch
	patch -p1 < debian/patches/php-7.0.33-bug78212.patch
	patch -p1 < debian/patches/php-7.0.33-bug78297.patch
	patch -p1 < debian/patches/php-7.0.33-bug77124.patch
	patch -p1 < debian/patches/php-7.0.33-bug78256.patch
	patch -p1 < debian/patches/php-7.0.33-bug78173.patch
	patch -p1 < debian/patches/php-7.0.33-bug78222.patch
	patch -p1 < debian/patches/php-7.0.33-bug78241.patch
	patch -p1 < debian/patches/php-7.0.33-bug78202.patch
	patch -p1 < debian/patches/php-7.0.33-bug78279.patch
	patch -p1 < debian/patches/php-7.0.33-bug77946.patch
	patch -p1 < debian/patches/php-7.0.33-bug78333.patch
	patch -p1 < debian/patches/php-7.0.33-bug78326.patch
	patch -p1 < debian/patches/php-7.0.33-bug69100.patch
	patch -p1 < debian/patches/php-7.0.33-bug78379.patch
	patch -p1 < debian/patches/php-7.0.33-bug78282.patch
	patch -p1 < debian/patches/php-7.0.33-bug78342.patch
ifeq "$(filter buster focal, $(CODENAME))" "$(CODENAME)"
	patch -p1 <debian/patches/0048-Use-pkg-config-for-FreeType2-detection.patch
endif
	patch -p1 < debian/patches/php-7.0.33-bug75457.patch
	patch -p1 < debian/patches/php-7.0.33-CVE-2019-13224.patch
	patch -p1 < debian/patches/php-7.0.33-bug79037.patch
	patch -p1 < debian/patches/php-7.0.33-bug79082.patch
	patch -p1 < debian/patches/php-7.0.33-bug79099.patch
	patch -p1 < debian/patches/php-7.0.33-bug79221.patch
	patch -p1 < debian/patches/php-7.0.33-bug77569.patch
	patch -p1 < debian/patches/php-7.0.33-bug79078.patch
	patch -p1 < debian/patches/php-7.0.33-bug79282.patch
	patch -p1 < debian/patches/php-7.0.33-bug79329.patch
	patch -p1 < debian/patches/php-7.0.33-bug61597.patch
	patch -p1 < debian/patches/php-7.0.33-bug74940.patch
	patch -p1 < debian/patches/php-7.0.33-bug75673.patch
	patch -p1 < debian/patches/php-7.0.33-bug79199.patch
	patch -p1 < debian/patches/php-7.0.33-bug79200.patch
	patch -p1 < debian/patches/php-7.0.33-bug79296.patch
	patch -p1 < debian/patches/php-7.0.33-bug79330.patch
	patch -p1 < debian/patches/php-7.0.33-bug79364.patch
	patch -p1 < debian/patches/php-7.0.33-bug79393.patch
	patch -p1 < debian/patches/php-7.0.33-bug79396.patch
	patch -p1 < debian/patches/php-7.0.33-bug79410.patch
	patch -p1 < debian/patches/php-7.0.33-bug79424.patch
	patch -p1 < debian/patches/php-7.0.33-bug79465-CVE-2020-7067.patch
	patch -p1 < debian/patches/php-7.0.33-bug79468.patch
	patch -p1 < debian/patches/php-7.0.33-bug78221.patch
	patch -p1 < debian/patches/php-7.0.33-bug78875-CVE-2019-11048.patch
	patch -p1 < debian/patches/php-7.0.33-bug78876-CVE-2019-11048.patch
	patch -p1 < debian/patches/php-7.0.33-bug79497.patch
	patch -p1 < debian/patches/php-7.0.33-bug79503.patch
	patch -p1 < debian/patches/php-7.0.33-bug79514.patch
	patch -p1 < debian/patches/php-7.0.33-bug79528.patch
	patch -p1 < debian/patches/php-7.0.33-bug62890.patch
	patch -p1 < debian/patches/php-7.0.33-bug70362.patch
	patch -p1 < debian/patches/php-7.0.33-bug73527.patch
	patch -p1 < debian/patches/php-7.0.33-bug74267.patch
	patch -p1 < debian/patches/php-7.0.33-bug79783.patch
	patch -p1 < debian/patches/php-7.0.33-bug79787.patch
	patch -p1 < debian/patches/php-7.0.33-bug79797-CVE-2020-7068.patch
	patch -p1 < debian/patches/php-7.0.33-bug79877.patch
	patch -p1 < debian/patches/php-7.0.33-bug79699-CVE-2020-7070.patch
	patch -p1 < debian/patches/php-7.0.33-bug79825.patch
	patch -p1 < debian/patches/php-7.0.33-bug79986.patch
	patch -p1 < debian/patches/php-7.0.33-bug80007.patch
	patch -p1 < debian/patches/php-7.0.33-bug80049.patch
	patch -p1 < debian/patches/php-7.0.33-bug73809.patch
	patch -p1 < debian/patches/php-7.0.33-bug77322.patch
	patch -p1 < debian/patches/php-7.0.33-bug77961.patch
	patch -p1 < debian/patches/php-7.0.33-bug80366.patch
	patch -p1 < debian/patches/php-7.0.33-bug80411.patch
	patch -p1 < debian/patches/php-7.0.33-bug80523.patch
	patch -p1 < debian/patches/php-7.0.33-bug80672.patch
	patch -p1 < debian/patches/hardened-bug70091.patch
	patch -p1 < debian/patches/hardened-bug75776.patch
	patch -p1 < debian/patches/hardened-bug80719.patch
	patch -p1 < debian/patches/hardened-bug80838.patch
	patch -p1 < debian/patches/hardened-bug80763.patch
	patch -p1 < debian/patches/hardened-bug80783.patch
	patch -p1 < debian/patches/hardened-bug80889.patch
	patch -p1 < debian/patches/hardened-bug79812.patch
	patch -p1 < debian/patches/hardened-bug75850.patch
	patch -p1 < debian/patches/hardened-bug51903.patch
	patch -p1 < debian/patches/hardened-bug78680.patch
	patch -p1 < debian/patches/hardened-bug80757.patch
	patch -p1 < debian/patches/hardened-bug80648.patch
	patch -p1 < debian/patches/hardened-bug78719.patch
	patch -p1 < debian/patches/hardened-bug74779.patch
	patch -p1 < debian/patches/hardened-bug73533.patch
	patch -p1 < debian/patches/hardened-bug66783.patch
	patch -p1 < debian/patches/hardened-bug80771.patch
	patch -p1 < debian/patches/hardened-bug69668.patch
	patch -p1 < debian/patches/hardened-bug76452.patch
	patch -p1 < debian/patches/hardened-bug76450.patch
	patch -p1 < debian/patches/hardened-bug76449.patch
	patch -p1 < debian/patches/hardened-72595.patch
	patch -p1 < debian/patches/hardened-81294.patch
	patch -p1 < debian/patches/hardened-81283.patch
	patch -p1 < debian/patches/hardened-81211.patch
	patch -p1 < debian/patches/hardened-80849.patch
	patch -p1 < debian/patches/hardened-81305.patch
	patch -p1 < debian/patches/hardened-81252.patch
	patch -p1 < debian/patches/hardened-72146.patch
	patch -p1 < debian/patches/upstream-CVE-2021-21707.patch
	patch -p1 < debian/patches/CVE-2021-21703.patch
	patch -p1 < debian/patches/php-7.0-CVE-2022-31626.patch
	patch -p1 < debian/patches/php-7.0-CVE-2022-31625.patch

	patch -p1 < debian/patches/find-libc-client.patch
ifeq ($(shell [[ "$(OS_NAME)" == "ubuntu" && $$(expr $(OS_VER) \>= 22.04) == 1 ]] || [[ "$(OS_NAME)" == "debian" && $$(expr $(OS_VER) \>= 11) == 1 ]] && echo 0), 0)
	patch -p1 < debian/patches/change-autoconf-ver.patch
	patch -p1 < debian/patches/php-7.0-intl-use-icu-namespace.patch
	patch -p1 < debian/patches/0001-ext-gd-Use-pkg-config-to-detect-the-availability-of-freetype.patch
	patch -p1 < debian/patches/replace-enchant-with-enchant2.patch
endif
	patch -p1 < debian/patches/php-7.0-CVE-2021-21705.patch
	patch -p1 < debian/patches/alt-php70-CVE-2021-21704.patch
	patch -p1 < debian/patches/php-upstream-CVE-2022-31629.patch
	patch -p1 < debian/patches/php-7-CVE-2022-31628.patch
	patch -p1 < debian/patches/php-upstream-CVE-2022-31631.patch
	patch -p1 < debian/patches/upstream-CVE-2023-0568.patch
	patch -p1 < debian/patches/php-7.0-CVE-2023-0662.patch
	patch -p1 < debian/patches/upstream-CVE-2023-0567.patch
	patch -p1 < debian/patches/php-7.1-CVE-2023-3823.patch
	patch -p1 < debian/patches/php-upstream-CVE-2023-3824.patch
	patch -p1 < debian/patches/php-7.0-CVE-2023-3247.patch
	patch -p1 < debian/patches/sock-path-mysqlnd.patch
	patch -p1 < debian/patches/php-7.0-CVE-2024-2756.patch
	patch -p1 < debian/patches/php7.0-CVE-2024-3096.patch

	cp -p Zend/LICENSE Zend/ZEND_LICENSE
	cp -p TSRM/LICENSE TSRM_LICENSE
	cp -p ext/gd/libgd/README gd_README
	# Multiple builds for multiple SAPIs
	for target in $(TARGETS); do \
	  mkdir -p build-$${target}/Zend && cp Zend/zend_{language,ini}_{parser,scanner}.[chy] build-$${target}/Zend; \
	done
	# Remove bogus test; position of read position after fopen(, "a+")
	# is not defined by C standard, so don't presume anything.
	rm -f ext/standard/tests/file/bug21131.phpt
	# Tests that fail.
	rm -f ext/standard/tests/file/bug22414.phpt ext/iconv/tests/bug16069.phpt
	# Remove tests which require external network access
	rm -f ext/sockets/tests/socket_bind.diff
	# Easter eggs no not shipped
	rm -f tests/basic/php_egg_logo_guid.diff
	for i in $(shell grep 'Package' debian/control | awk '{print $$2}'); do \
		if [ ! -f debian/$${i}.postinst ]; then \
			echo "#!/bin/bash" > debian/$${i}.postinst; \
			echo "[ -x /usr/bin/cl-linksafe-apply-group ] && /usr/bin/cl-linksafe-apply-group $${i} || :" >> debian/$${i}.postinst; \
		fi; \
	done

override_dh_auto_configure: prep_build
	cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >>aclocal.m4

	# Force use of system libtool:
	libtoolize --force --copy
	cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >build/libtool.m4

	# Regenerate configure scripts (patches change config.m4's)
	#touch configure.in
	./buildconf --force


	for target in $(TARGETS); do \
	  pushd build-$${target}; \
	  ../configure $$(eval echo \$${$${target}_config}); \
	  $(SED_ALT_LIBS) \
	  if [ "$${target}" = "mysqlnd" ]; then \
	    pushd modules; \
	    rm -f `ls | grep -v mysql`; \
	    popd; \
	  fi; \
	  popd; \
	done

override_dh_auto_build:
	for target in $(TARGETS); do \
	  $(MAKE) $(NJOBS) -C build-$${target}; \
	done

override_dh_auto_install:
	install -m 755 -d $(buildroot)$(altdir)/etc
	install -m 755 -d $(buildroot)$(altdir)/etc/php-fpm.d
	$(MAKE) -C build-mysqlnd install-modules INSTALL_ROOT=$(buildroot)
	for target in litespeed fpm cgi; do \
	  $(MAKE) -C build-$${target} install INSTALL_ROOT=$(buildroot); \
	done
	install -m 644 $(CURDIR)/debian/src/php.ini $(buildroot)$(altdir)/etc/
	cd $(buildroot)$(altdir)/usr/lib/$(DEB_HOST_MULTIARCH)/php/modules && \
	  mv mysqli.so nd_mysqli.so && \
	  mv pdo_mysql.so nd_pdo_mysql.so
	install -m 755 -d $(buildroot)/var/www/icons
	install -m 644    *.gif $(buildroot)/var/www/icons/

	# Fix path for sed
	sed 's@[/a-z]*sed@sed@' -i $(buildroot)$(altdir)/usr/bin/phpize

	# For third-party packaging:
	install -m 755 -d $(buildroot)$(altdir)/usr/lib/$(DEB_HOST_MULTIARCH)/php/pear \
	                  $(buildroot)$(altdir)/usr/share/php
	install -m 755 -d $(buildroot)$(altdir)/etc/php.d.all
	install -m 755 -d $(buildroot)$(altdir)/var/lib/php
	install -m 700 -d $(buildroot)$(altdir)/var/lib/php/session
	install -m 755 -d $(buildroot)$(altdir)/link
	install -m 755 -d $(buildroot)$(altdir)/etc/php.d
	ln -sf $(altdir)/etc/php.d $(buildroot)$(altdir)/link/conf
	install -m 644 $(CURDIR)/debian/src/default.ini $(buildroot)$(altdir)/etc/php.d
	install -m 755 -d $(buildroot)$(altdir)/etc/php-fpm.d
	install -m 755 -d $(buildroot)/usr/lib/systemd/system
	install -m 644  $(CURDIR)/debian/src/alt-php70-fpm.service $(buildroot)/usr/lib/systemd/system
	cd $(buildroot)$(_bindir) && ln -sfn phar.phar phar
	# Generate files lists and stub .ini files for each subpackage
	for mod in $(mods); do \
	  if test ! -e $(buildroot)$(altdir)/usr/lib/$(DEB_HOST_MULTIARCH)/php/modules/$${mod}.so ; then \
	  	continue; \
	  fi; \
	  if test $${mod} = xsl || test $${mod} = xmlreader ; then \
	    echo -e "; Enable $${mod} extension module \
	      \nextension=dom.so \
	      \nextension=$${mod}.so" > $(buildroot)$(altdir)/etc/php.d.all/$${mod}.ini; \
	  elif test  $${mod} = pdo_pgsql || test $${mod} = pdo_odbc || test $${mod} = pdo_sqlite || test $${mod} = pdo_dblib || test $${mod} = pdo_firebird ; then \
	    echo -e "; Enable $${mod} extension module \
		  \nextension=pdo.so \
		  \nextension=$${mod}.so " > $(buildroot)$(altdir)/etc/php.d.all/$${mod}.ini; \
	  elif test $${mod} = opcache ; then \
	    echo -e "; Enable $${mod} extension module \
	      \nzend_extension=$(altdir)/usr/lib/$(DEB_HOST_MULTIARCH)/php/modules/opcache.so" > $(buildroot)$(altdir)/etc/php.d.all/$${mod}.ini; \
	  elif test $${mod} = nd_mysqli ; then \
	    echo -e "; Enable $${mod} extension module \
	    \nextension=mysqlnd.so \
	    \nextension=$${mod}.so" > $(buildroot)$(altdir)/etc/php.d.all/$${mod}.ini; \
	  elif test $${mod} = nd_pdo_mysql ; then \
	    echo -e "; Enable $${mod} extension module \
	    \nextension=pdo.so \
	    \nextension=mysqlnd.so \
	    \nextension=$${mod}.so" > $(buildroot)$(altdir)/etc/php.d.all/$${mod}.ini; \
	  else \
	    echo -e "; Enable $${mod} extension module \
	    \nextension=$${mod}.so" > $(buildroot)$(altdir)/etc/php.d.all/$${mod}.ini; \
	  fi; \
	done
	rm -f $(buildroot)$(altdir)/usr/lib/$(DEB_HOST_MULTIARCH)/php/modules/*.a \
		  $(buildroot)/var/www/icons/php.gif

	# SCL
	install -d $(buildroot)/etc/scl/prefixes
	install -d $(buildroot)$(scl_dir)
	echo '/opt/cloudlinux' >> $(buildroot)/etc/scl/prefixes/alt-php70
	echo 'export PATH=$(scl_dir)/root/usr/bin:$(scl_dir)/root/usr/sbin$${PATH:+:$${PATH}}' >> $(buildroot)$(scl_dir)/enable
	echo 'export MANPATH=$(scl_dir)/root/usr/share/man:$${MANPATH}' >> $(buildroot)$(scl_dir)/enable
	ln -sf $(altdir) $(buildroot)$(scl_dir)/root

override_dh_shlibdeps:
	dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info

override_dh_missing:
	dh_missing --fail-missing
