# zendframework packaging

The packaging heavily relies on Git to share the common bits until the
components get separated into individual, versioned projects (as planned
for ZF3). The php-zend-* packages should be considered as built from a
common source package (as e.g., symfony properly is).

http://framework.zend.com/blog/announcing-the-zend-framework-3-roadmap.html


# Configuration

In order to improve the merging from php-zend-common, the following bits
should be added to .git/config (as documented in
debian/git-merge-zen.sh):

[merge "zen"]
        name = debian/changelog merge driver
        driver = ./debian/git-merge-zen.sh %O %A %B

debian/git-merge-zen.sh should also be edited to replace __name__ and
__Name__ to their appropriate values when creating a new package.

The merge binary from the rcs package is needed to run this script.


# Initial setup

php-zend-common should be added locally as a remote repository:

git remote add common ssh://git.debian.org/git/pkg-php/php-zend-common.git
git checkout -b common --track common/master


# Workflow

Prepare the common update in the php-zend-common repository, then merge
the common branch it in *every* repository to update (php-zend-stdlib,
php-zend-eventmanager, php-zend-code, php-zend-db, etc.), since there
are currently strict versioned dependencies between the packages.

Use the get-orig-source target from ./debian/rules to get the upstream
tarball, and import it as described in the gbp guide with a command like

	$ gbp import-orig --upstream-vcs-tag=release-$version php-zend-$branch_$version.orig.tar.gz

file:///usr/share/doc/git-buildpackage/manual-html/gbp.import.html#GBP.IMPORT.UPSTREAM.GIT.TARBALL
