Commit bb1952ae authored by Ondrej Sury's avatar Ondrej Sury

Improve d/rules so it can be used with both single or multiple PECL upstream...

Improve d/rules so it can be used with both single or multiple PECL upstream versions, controlled by looking for package-MAJOR.MINOR.xml, package-MAJOR.xml and package.xml in this order
parent ea01cd57
......@@ -7,7 +7,8 @@ Uploaders: Ondřej Surý <ondrej@debian.org>,
Build-Depends: debhelper (>= 9),
dh-php (>= 0.7~),
php-all-dev,
po-debconf
po-debconf,
xml2
Standards-Version: 3.9.6
Vcs-Git: git://anonscm.debian.org/pkg-php/php-radius.git
Vcs-Browser: http://anonscm.debian.org/gitweb?p=pkg-php/php-radius.git;a=summary
......
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#DH_VERBOSE = 1
# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk
# 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 = -Wl,--as-needed
SHELL=/bin/sh -e
PECL_NAME := $(shell dpkg-parsechangelog -SSource | sed -e s/php-//)
SOURCE_DIR := $(shell ls -1d $(PECL_NAME)-*)
INSTALL_ROOT := $(CURDIR)/debian/php-$(PECL_NAME)
PECL_NAME := $(subst php-,,$(DEB_SOURCE))
INSTALL_ROOT := $(CURDIR)/debian/$(DEB_SOURCE)
PHP_VERSIONS := $(shell /usr/sbin/phpquery -V)
# find corresponding package-PHP_MAJOR.PHP_MINOR.xml, package-PHP_MAJOR.xml or package.xml
$(foreach ver,$(PHP_VERSIONS),$(eval PACKAGE_XML_$(ver) := $(word 1,$(wildcard package-$(ver).xml package-$(basename $(ver)).xml package.xml))))
# fill DH_PHP_VERSIONS with versions that have corresponding package.xml
export DH_PHP_VERSIONS := $(foreach ver,$(PHP_VERSIONS),$(if $(PACKAGE_XML_$(ver)),$(ver)))
# for each ver in $(DH_PHP_VERSIONS), look into each corresponding package.xml for upstream PECL version
$(foreach ver,$(DH_PHP_VERSIONS),$(eval PECL_SOURCE_$(ver) := $(PECL_NAME)-$(shell xml2 < $(PACKAGE_XML_$(ver)) | sed -ne "s,^/package/version/release=,,p")))
CONFIGURE_TARGETS := $(addprefix configure-,$(addsuffix -stamp,$(DH_PHP_VERSIONS)))
BUILD_TARGETS := $(addprefix build-,$(addsuffix -stamp,$(DH_PHP_VERSIONS)))
INSTALL_TARGETS := $(addprefix install-,$(addsuffix -stamp,$(DH_PHP_VERSIONS)))
CLEAN_TARGETS := $(addprefix clean-,$(addsuffix -stamp,$(DH_PHP_VERSIONS)))
%:
dh $@ --with php --sourcedirectory=$(SOURCE_DIR)
override_dh_auto_configure:
for v in $(PHP_VERSIONS); do \
cp -a $(CURDIR)/$(SOURCE_DIR) $(CURDIR)/build-$$v; \
cd $(CURDIR)/build-$$v; \
phpize$$v; \
done
cd $(SOURCE_DIR) && phpize
for v in $(PHP_VERSIONS); do \
dh_auto_configure --builddirectory=$(CURDIR)/build-$$v --sourcedirectory=$(SOURCE_DIR) -- --enable-$(PECL_NAME) --with-php-config=/usr/bin/php-config$$v; \
done
override_dh_auto_build:
for v in $(PHP_VERSIONS); do \
dh_auto_build --builddirectory=$(CURDIR)/build-$$v --sourcedirectory=$(SOURCE_DIR); \
done
override_dh_auto_install:
for v in $(PHP_VERSIONS); do \
dh_auto_install --builddirectory=$(CURDIR)/build-$$v --sourcedirectory=$(SOURCE_DIR) -- INSTALL_ROOT=$(INSTALL_ROOT); \
done
override_dh_auto_clean:
for v in $(PHP_VERSIONS); do \
dh_auto_clean --builddirectory=$(CURDIR)/build-$$v --sourcedirectory=$(SOURCE_DIR); \
rm -rf $(CURDIR)/build-$$v; \
done
cd $(SOURCE_DIR) && phpize --clean
dh $@ --with php
override_dh_auto_configure: $(CONFIGURE_TARGETS)
override_dh_auto_build: $(BUILD_TARGETS)
override_dh_auto_install: $(INSTALL_TARGETS)
override_dh_auto_clean: $(CLEAN_TARGETS)
-rm -f $(CONFIGURE_TARGETS) $(BUILD_TARGETS) $(INSTALL_TARGETS) $(CLEAN_TARGETS)
configure-%-stamp: SOURCE_DIR = build-$(*)
configure-%-stamp:
cp -a $(PECL_SOURCE_$(*)) $(SOURCE_DIR)
cd $(SOURCE_DIR) && phpize$(*)
dh_auto_configure --sourcedirectory=$(SOURCE_DIR) -- --enable-$(PECL_NAME) --with-php-config=/usr/bin/php-config$*
touch configure-$(*)-stamp
build-%-stamp: SOURCE_DIR = build-$(*)
build-%-stamp:
dh_auto_build --sourcedirectory=$(SOURCE_DIR)
touch build-$*-stamp
install-%-stamp: SOURCE_DIR = build-$(*)
install-%-stamp:
dh_auto_install --sourcedirectory=$(SOURCE_DIR) -- INSTALL_ROOT=$(INSTALL_ROOT)
touch install-$*-stamp
clean-%-stamp: SOURCE_DIR = build-$(*)
clean-%-stamp:
rm -rf $(SOURCE_DIR)
touch clean-$*-stamp
override_dh_gencontrol: ,:=,
override_dh_gencontrol:
dh_gencontrol -- "-Vphp:Provides=$(addprefix php,$(addsuffix -$(PECL_NAME)$(,) ,$(DH_PHP_VERSIONS)))"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment