#!/usr/bin/make -f

export DH_VERBOSE=1

DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
CFLAGS = $(shell dpkg-buildflags --get CFLAGS | sed -e "s/-Wformat//;s/-Werror=format-security//")
LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
NJOBS := -j$(shell getconf _NPROCESSORS_ONLN)

prefix := /opt/alt/php72
libdir := $(prefix)/usr/lib/$(DEB_HOST_MULTIARCH)
bindir := $(prefix)/usr/bin
includedir := $(prefix)/include
datadir := $(prefix)/usr/share
sysconfigdir := $(prefix)/etc
localstatedir := $(prefix)/var
docdir := $(datadir)/doc
peardir := $(datadir)/pear

buildroot := $(CURDIR)/debian/tmp

export PHP_PEAR_SYSCONF_DIR=$(sysconfdir)
export PHP_PEAR_SIG_KEYDIR=$(sysconfdir)/pearkeys
export PHP_PEAR_SIG_BIN=$(bindir)/gpg
export PHP_PEAR_INSTALL_DIR=$(peardir)
export INSTALL_ROOT=$(buildroot)

# 1.4.11 tries to write to the cache directory during installation
# so it's not possible to set a sane default via the environment.
# The ${PWD} bit will be stripped via relocate.php later.
export PHP_PEAR_CACHE_DIR=$(CURDIR)/var/cache/php-pear
export PHP_PEAR_TEMP_DIR=/var/tmp

SOURCE0 := debian/src/PEAR-1.10.16.tgz
SOURCE1 := debian/src/install-pear.php
SOURCE2 := debian/src/relocate.php
SOURCE3 := debian/src/strip.php
SOURCE4 := debian/src/LICENSE-XML_RPC
SOURCE10 := debian/src/pear.sh
SOURCE11 := debian/src/pecl.sh
SOURCE12 := debian/src/peardev.sh
SOURCE20 := debian/src/XML_RPC-1.5.5.tgz
SOURCE21 := debian/src/Archive_Tar-1.4.14.tgz
SOURCE22 := debian/src/Console_Getopt-1.4.3.tgz
SOURCE23 := debian/src/Structures_Graph-1.1.1.tgz
SOURCE24 := debian/src/XML_Util-1.4.5.tgz

%:
	dh $@

override_dh_auto_configure:

# Create a usable PEAR directory (used by install-pear.php)
	for archive in $(SOURCE0) $(SOURCE21) $(SOURCE22) $(SOURCE23) $(SOURCE24); do \
		tar xzf  $$archive --strip-components 1 || tar xzf  $$archive --strip-path 1; \
		file=$${archive##*/}; echo LICENSE-$${file%%-*}; \
		if [ -f LICENSE ]; then mv LICENSE LICENSE-$${file%%-*}; fi; \
		if [ -f README ]; then mv README README-$${file%%-*}; fi; \
	done
	tar xzf $(SOURCE24) package.xml
	mv package.xml XML_Util.xml
#	mv PEAR-1.10.16/* .

override_dh_auto_build:

override_dh_auto_install:

	install -d \
		$(buildroot)$(peardir) \
		$(buildroot)$(bindir) \
	        $(buildroot)$(localstatedir)/cache/php-pear \
	        $(buildroot)$(localstatedir)/www/html \
	        $(buildroot)$(peardir)/.pkgxml \
	        $(buildroot)$(sysconfigdir)/rpm \
	        $(buildroot)$(sysconfigdir)/pear

	$(bindir)/php -n -dmemory_limit=32M -dshort_open_tag=0 -dsafe_mode=0 \
		-derror_reporting=E_ALL -ddetect_unicode=0 \
		$(SOURCE1) --dir $(peardir) \
                   --config $(sysconfigdir)/pear \
                   --bin $(bindir) \
                   --www $(localstatedir)/www/html \
				   --cache $(localstatedir)/cache/php-pear \
                   --doc $(docdir)/pear \
                   $(SOURCE0) $(SOURCE21) $(SOURCE22) $(SOURCE23) $(SOURCE24) $(SOURCE20)

# Replace /usr/bin/* with simple scripts:
	install -m 755 $(SOURCE10) $(buildroot)$(bindir)/pear
	install -m 755 $(SOURCE11) $(buildroot)$(bindir)/pecl
	install -m 755 $(SOURCE12) $(buildroot)$(bindir)/peardev
	for f in pear pecl peardev; do \
		sed -i 's/\[VERSION\]/72/' $(buildroot)$(bindir)/$$f; \
	done

# Sanitize the pear.conf
	$(bindir)/php -n $(SOURCE2) $(buildroot)$(sysconfigdir)/pear.conf $(buildroot) | \
		$(bindir)/php -n $(SOURCE2) php://stdin $(CURDIR) > new-pear.conf
	$(bindir)/php -n $(SOURCE3) new-pear.conf ext_dir | \
		$(bindir)/php -n $(SOURCE3) php://stdin http_proxy > $(buildroot)$(sysconfigdir)/pear.conf

	$(bindir)/php -r "print_r(unserialize(substr(file_get_contents('$(buildroot)$(sysconfigdir)/pear.conf'),17)));"

	install -m 644 -c $(SOURCE4) LICENSE-XML_RPC

# Why this file here ?
	rm -rf $(buildroot)/.depdb* $(buildroot)/.lock $(buildroot)/.channels $(buildroot)/.filemap

# Need for re-registrying XML_Util
	install -m 644 XML_Util.xml $(buildroot)$(peardir)/.pkgxml/

#	install -m 755 scripts/pearcmd.php $(buildroot)$(peardir)/


	dh_installdirs -palt-php72-pear \
		$(localstatedir)/cache/php-pear \
		$(localstatedir)/www/html \
		$(sysconfdir)/pear \
		$(docdir)/pear

	dh_movefiles -palt-php72-pear \
		.$(peardir) \
		.$(bindir) \
		.$(sysconfigdir)/pear.conf \
		.$(docdir)/pear/*

	dh_installdocs -palt-php72-pear \
		README* LICENSE*

override_dh_auto_test:

override_dh_missing:
	dh_missing --fail-missing
