Well, it looks like the CDBS guys aren't going to include pear.mk (or
any other CDBS patches) for the time being, because they are working
hard to get CDBS version 2 released. Looking around a bit more, I
noticed that there are other packages which themselves ship files for
/usr/share/cdbs/1/class, and I recommend that dh-make-php do the same.

I have attached a patch which takes an initial step at integrating
pear.mk into dh-make-php. Basically, the file pear.mk is installed in
/usr/share/cdbs/1/class by dh-make-php, and the debian/rules of created
packages then include it. This has the distinct advantage of allowing us
to maintain a single, central copy of pear.mk that we can update to keep
inline with current policy and best practices.

For examples of packages that use the most recent version of pear.mk,
see php-cache-lite and php-pager. The current recommendation would
simply be to get pear.mk out of every package that wants to use it and
into dh-make-php.

If I can be of further assistance perfecting the integration of pear.mk
into dh-make-php, please don't hesitate to ask.

cheers,
Charles

-- 
These signs
Are not
For laughs alone
The face they save
May be your own
Burma-Shave
http://burma-shave.org/jingles/1953/these_signs
diff -Nur dh-make-php-0.0.13/debian/changelog dh-make-php-0.14/debian/changelog
--- dh-make-php-0.0.13/debian/changelog 2006-02-28 09:41:25.789124000 -0500
+++ dh-make-php-0.14/debian/changelog   2006-02-28 09:53:22.735433513 -0500
@@ -1,3 +1,9 @@
+dh-make-php (0.14) unstable; urgency=low
+
+  * Includes cdbs pear.mk
+
+ -- Charles Fry <[EMAIL PROTECTED]>  Tue, 28 Feb 2006 09:52:42 -0500
+
 dh-make-php (0.0.13-1) unstable; urgency=low
 
   * New upstream release
diff -Nur dh-make-php-0.0.13/debian/control dh-make-php-0.14/debian/control
--- dh-make-php-0.0.13/debian/control   2006-02-28 09:41:25.790124000 -0500
+++ dh-make-php-0.14/debian/control     2006-02-28 09:51:52.216624619 -0500
@@ -3,12 +3,11 @@
 Priority: optional
 Maintainer: Uwe Steinmann <[EMAIL PROTECTED]>
 Build-Depends-Indep: debhelper (>> 4.0.0), po-debconf, docbook-xsl, xsltproc
-Standards-Version: 3.6.1
+Standards-Version: 3.6.2
 
 Package: dh-make-php
 Architecture: all
-Depends: xsltproc
-Recommends: php-pear
-Description: Creating debian source packages for pear and pecl extensions
- It contains two programs to create a debian source package
- from a pear or pecl package.
+Depends:  php-pear, cdbs, xsltproc, xmlstarlet
+Description: Creates Debian source packages for PHP PEAR and PECL extensions
+ Contains two programs to create Debian source packages
+ from PHP PEAR or PECL packages.
diff -Nur dh-make-php-0.0.13/debian/dirs dh-make-php-0.14/debian/dirs
--- dh-make-php-0.0.13/debian/dirs      2006-02-28 09:41:25.788124000 -0500
+++ dh-make-php-0.14/debian/dirs        2006-02-28 09:50:49.425084332 -0500
@@ -1,2 +1,3 @@
 usr/share/
+usr/share/cdbs/1/rules
 usr/bin
diff -Nur dh-make-php-0.0.13/Makefile dh-make-php-0.14/Makefile
--- dh-make-php-0.0.13/Makefile 2006-02-13 05:38:46.000000000 -0500
+++ dh-make-php-0.14/Makefile   2006-02-28 09:50:18.896198278 -0500
@@ -32,6 +32,7 @@
        cp -r licenses ${DESTDIR}/share/${PACKAGE}
        cp -r xslt ${DESTDIR}/share/${PACKAGE}
        cp dh-make-php.lib ${DESTDIR}/share/${PACKAGE}
+       cp pear.mk ${DESTDIR}/share/cdbs/1/class
        rm -rf ${DESTDIR}/share/${PACKAGE}/pecl.template/CVS
        rm -rf ${DESTDIR}/share/${PACKAGE}/pear.template/CVS
        rm -rf ${DESTDIR}/share/${PACKAGE}/licenses/CVS
diff -Nur dh-make-php-0.0.13/pear.mk dh-make-php-0.14/pear.mk
--- dh-make-php-0.0.13/pear.mk  1969-12-31 19:00:00.000000000 -0500
+++ dh-make-php-0.14/pear.mk    2006-02-28 09:48:53.370726440 -0500
@@ -0,0 +1,100 @@
+# -*- mode: makefile; coding: utf-8 -*-
+# Copyright © 2006 Charles Fry <[EMAIL PROTECTED]>
+# Description: Installs and cleans PEAR packages
+#
+# 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/xmlstarlet sel -t -v '/package/name/text()' 
package.xml)
+PEAR_PKG_VERSION := $(shell /usr/bin/xmlstarlet sel -t -v 
'/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/xmlstarlet ] ; then \
+               echo "pear.mk depends on php4-pear, xmlstarlet" ; \
+               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/.[a-z]* \
+               $(DEB_DESTDIR)$(PEAR_NEW_DOC_DIR)/LICENSE
+
+endif
diff -Nur dh-make-php-0.0.13/pear.template/control 
dh-make-php-0.14/pear.template/control
--- dh-make-php-0.0.13/pear.template/control    2005-07-22 16:35:01.000000000 
-0400
+++ dh-make-php-0.14/pear.template/control      2006-02-28 10:02:42.314874142 
-0500
@@ -2,7 +2,7 @@
 Section: web
 Priority: optional
 Maintainer: ##maintainer##
-Build-Depends-Indep: debhelper (>> 4.0.0), php4-pear, xsltproc
+Build-Depends-Indep: debhelper (>> 4.0.0), dh-make-php
 Standards-Version: 3.6.2
 
 Package: ##packagename##
diff -Nur dh-make-php-0.0.13/pear.template/rules 
dh-make-php-0.14/pear.template/rules
--- dh-make-php-0.0.13/pear.template/rules      2005-11-25 04:59:32.000000000 
-0500
+++ dh-make-php-0.14/pear.template/rules        2006-02-28 09:58:10.331731862 
-0500
@@ -1,102 +1,3 @@
 #!/usr/bin/make -f
-# template debian/rules provided by dh-make-php.
-# GNU copyright 2005 by Uwe Steinmann.
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-PEAR_PKG_NAME=##pearpkgname##
-PACKAGE_NAME=##packagename##
-PEAR="PHP_PEAR_PHP_BIN=/usr/bin/php /usr/bin/pear"
-PEAR_PHP_DIR=$(shell $(PEAR) config-get php_dir|sed -e 's/php_dir=//')
-PEAR_DOC_DIR=$(shell $(PEAR) config-get doc_dir|sed -e 's/doc_dir=//')
-SOURCE_DIR=$(shell ls -d $(PEAR_PKG_NAME)-*)
-
-configure: configure-stamp
-configure-stamp:
-       dh_testdir
-       # Add here commands to configure the package.
-
-       touch configure-stamp
-
-
-build: build-stamp
-
-build-stamp: configure-stamp 
-       dh_testdir
-
-       # Add here commands to compile the package.
-       ln -s ../package.xml $(SOURCE_DIR)
-       xsltproc --nonet --novalid debian/changelog.xsl package.xml > 
debian/Changelog
-
-       touch build-stamp
-
-clean:
-       dh_testdir
-       dh_testroot
-       rm -f build-stamp configure-stamp
-
-       # Add here commands to clean up after the build process.
-       #-$(MAKE) clean
-       rm -f debian/pearrc debian/Changelog $(SOURCE_DIR)/package.xml
-
-       dh_clean
-
-install: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k
-       dh_installdirs
-
-       # Add here commands to install the package into debian/$(PACKAGE_NAME).
-       $(PEAR) install --nodeps -R debian/$(PACKAGE_NAME) 
$(SOURCE_DIR)/package.xml
-       rm -f debian/pearrc
-       rm -f debian/$(PACKAGE_NAME)$(PEAR_PHP_DIR)/.lock
-       rm -f debian/$(PACKAGE_NAME)$(PEAR_PHP_DIR)/.filemap
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
-       dh_testdir
-       dh_testroot
-       dh_installchangelogs debian/Changelog
-       dh_installdocs
-       if [ -d debian/$(PACKAGE_NAME)$(PEAR_PHP_DIR)/docs/$(PEAR_PKG_NAME) ]; 
then \
-         mv debian/$(PACKAGE_NAME)$(PEAR_PHP_DIR)/docs/$(PEAR_PKG_NAME) 
debian/$(PACKAGE_NAME)/usr/share/doc/$(PACKAGE_NAME); \
-               (cd debian/$(PACKAGE_NAME)$(PEAR_PHP_DIR)/docs/; ln -s 
/usr/share/doc/$(PACKAGE_NAME)/$(PEAR_PKG_NAME)) \
-       fi
-       if [ -d 
debian/$(PACKAGE_NAME)$(PEAR_PHP_DIR)/tests/$(PEAR_PKG_NAME)/tests ]; then \
-               mkdir -p 
debian/$(PACKAGE_NAME)/usr/share/doc/$(PACKAGE_NAME)/examples; \
-         mv debian/$(PACKAGE_NAME)$(PEAR_PHP_DIR)/tests/$(PEAR_PKG_NAME)/tests 
debian/$(PACKAGE_NAME)/usr/share/doc/$(PACKAGE_NAME)/examples/; \
-               rm -rf debian/$(PACKAGE_NAME)$(PEAR_PHP_DIR)/tests; \
-       fi
-       dh_installexamples
-#      dh_install --sourcedir=debian/$(PACKAGE_NAME)
-#      dh_installmenu
-       dh_installdebconf       
-#      dh_installlogrotate
-#      dh_installemacsen
-#      dh_installpam
-#      dh_installmime
-#      dh_installinit
-#      dh_installcron
-#      dh_installinfo
-#      dh_installman
-#      dh_link
-#      dh_strip
-       dh_compress
-#      dh_fixperms
-#      dh_perl
-#      dh_python
-#      dh_makeshlibs
-       dh_installdeb
-#      dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
+include /usr/share/cdbs/1/rules/pear.mk

Attachment: signature.asc
Description: Digital signature

Reply via email to