Package: cdbs Version: 0.4.32 Severity: wishlist Tags: patch Please find attached a new make file sloted for addition at:
/usr/share/cdbs/1/class/pear.mk This file works for standard PHP Pear packages (the rough equivilant of CPAN for PHP modules). This file itself was extracted from the dh-make-php program which is currently the standard way to create Pear packages. Once this is included in cdbs, dh-make-php can use it as well. Note that I received direct feedback from the debian-webapps mailing list regarding pear.mk, and have integrated all suggestions made there by others. cheers, Charles -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (900, 'testing'), (800, 'stable'), (70, 'unstable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.8-2-386 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) cdbs depends on no packages. Versions of packages cdbs recommends: ii autotools-dev 20050803.1 Update infrastructure for config.{ ii debhelper 4.9.8 helper programs for debian/rules -- no debconf information
# -*- mode: makefile; coding: utf-8 -*- # Copyright © 2003 Charles Fry <[EMAIL PROTECTED]> # Description: Installs and cleans PEAR packages # Depends: php4-pear, libxml-xpath-perl, xsltproc # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2, or (at # your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA # 02111-1307 USA. ifndef _cdbs_bootstrap _cdbs_scripts_path ?= /usr/lib/cdbs _cdbs_rules_path ?= /usr/share/cdbs/1/rules _cdbs_class_path ?= /usr/share/cdbs/1/class endif ifndef _cdbs_class_pear _cdbs_class_pear := 1 include $(_cdbs_rules_path)/debhelper.mk$(_cdbs_makefile_suffix) # modify these variables as necessary PEAR_PKG := $(shell /usr/bin/xpath -q -e '/package/name/text()' package.xml) PEAR_PKG_VERSION := $(shell /usr/bin/xpath -q -e '/package/release/version/text()' package.xml) # some packages use test instead of tests PEAR_TEST_DIR := tests # these shouldn't need to be changed PEAR_SOURCE_DIR = $(PEAR_PKG)-$(PEAR_PKG_VERSION) PEAR_OLD_DOC_DIR = usr/share/php/docs/$(PEAR_PKG) PEAR_NEW_DOC_DIR = usr/share/doc/$(DEB_PACKAGES) PEAR_OLD_TEST_DIR = usr/share/php/tests/$(PEAR_PKG)/$(PEAR_TEST_DIR) PEAR_NEW_TEST_DIR = $(PEAR_NEW_DOC_DIR)/tests DEB_PHONY_RULES += pear-sanity-check pear-sanity-check: if ! [ -x /usr/bin/pear -a -x /usr/bin/xpath ] ; then \ echo "pear.mk depends on php4-pear, libxml-xpath-perl" ; \ exit 1 ; \ fi # check sanity as early as possible pre-build:: pear-sanity-check common-configure-indep:: ln -f -s ../package.xml $(PEAR_SOURCE_DIR) clean:: rm -f $(PEAR_PKG)-*/package.xml common-install-indep:: pear-sanity-check # install everything in default locations /usr/bin/pear \ -c debian/pearrc \ -d include_path=/usr/share/php \ -d php_bin=/usr/bin/php \ -d bin_dir=/usr/bin \ -d php_dir=/usr/share/php \ -d data_dir=/usr/share/php/data \ -d doc_dir=/usr/share/php/docs \ -d test_dir=/usr/share/php/tests \ install --nodeps -R $(DEB_DESTDIR) $(PEAR_SOURCE_DIR)/package.xml # move documentation to correct location mkdir -p $(DEB_DESTDIR)usr/share/doc mv -i $(DEB_DESTDIR)$(PEAR_OLD_DOC_DIR) $(DEB_DESTDIR)$(PEAR_NEW_DOC_DIR) ln -s ../../doc/$(DEB_PACKAGES) $(DEB_DESTDIR)$(PEAR_OLD_DOC_DIR) # create upstream changelog if [ -f debian/changelog.xsl ] ; then \ if [ -x /usr/bin/xsltproc ] ; then \ /usr/bin/xsltproc --nonet --novalid debian/changelog.xsl package.xml | gzip -9 > $(DEB_DESTDIR)$(PEAR_NEW_DOC_DIR)/changelog.gz ; \ else \ echo "pear.mk requires xsltproc to automatically install the upstream changelog" ; \ exit 1 ; \ fi ; \ fi # move test to correct location mkdir -p $(DEB_DESTDIR)$(PEAR_NEW_TEST_DIR) # must move files instead of directory in case tests was part of docs above mv -i $(DEB_DESTDIR)$(PEAR_OLD_TEST_DIR)/* $(DEB_DESTDIR)$(PEAR_NEW_TEST_DIR) rmdir $(DEB_DESTDIR)$(PEAR_OLD_TEST_DIR) ln -s ../../../doc/$(DEB_PACKAGES)/tests $(DEB_DESTDIR)$(PEAR_OLD_TEST_DIR) # remove unwanted files rm -rf $(DEB_DESTDIR)usr/share/php/.lock \ $(DEB_DESTDIR)usr/share/php/.filemap \ $(DEB_DESTDIR)usr/share/php/.registry \ $(DEB_DESTDIR)$(PEAR_NEW_DOC_DIR)/LICENSE endif