Package: pkg-php-tools Version: 1.11~bpo70~dabe1 Severity: normal Tags: patch
This is kind of a follow-up of bug #729452 that added initial support for ALPHA and other WIP releases. As of pkg-php-tools 1.11 dh_phpcomposer is not able to deal with uppercase ALPHA, RC and other WIP releases. I came across this while trying to use dh_phpcomposer to generate substvars for symfony/intl (v2.3.16), which has the following in its composer.json: "require": { "php": ">=5.3.3", "symfony/icu": "~1.0-RC" }, dh_phpcomposer can not deal with the uppercase 'RC' (but it would support a lowercase rc). The same is with alpha vs. ALPHA, beta vs. BETA, etc. The attached patch simply makes the match added in #729452 case insensitive and lowercases the use of the match in the Debian version later on.
diff --git a/lib/scripts/phppkginfo b/lib/scripts/phppkginfo index 59cad76..2f3d3ed 100755 --- a/lib/scripts/phppkginfo +++ b/lib/scripts/phppkginfo @@ -365,7 +365,7 @@ function composerDebianVersion($pkg, $version, $link) { '(>|>=|<|<=|!=|~)?'. # Operator '\s*'. # Optional spaces 'v?(([\d*]+)(\.[\d*]+)?(\.[\d*]+)?(\.[\d*]+)?)'. # version - '-?(alpha\d*|a\d*|beta\d*|b\d*|rc\d*)?'. # wip + '-?((?i)alpha\d*|a\d*|beta\d*|b\d*|rc\d*(?-i))?'. # wip '(@(stable|RC|beta|alpha|dev))?'. # stability '(\s+as +([^,\s]+))?$/', # "as ..." $version, $match) @@ -373,7 +373,7 @@ function composerDebianVersion($pkg, $version, $link) { $operator = isset($match[1]) ? $match[1] : NULL; $short_version = isset($match[2]) ? $match[2] : NULL; if (strpos($short_version, '*') === false) { - $short_version .= isset($match[7]) ? '~'.$match[7] : NULL; + $short_version .= isset($match[7]) ? '~'.strtolower($match[7]) : NULL; } $short_version_array = explode('.', $short_version); $stability = isset($match[8]) ? $match[8] : NULL;