Bug#449025: --only 5 doesn't help?
Hi, I've finally had a chance to get back to this. Thanks for your comments and suggestions by private mail. For those reading along: I upgraded the dh-make-php package to the lenny version (0.2.0-0.2.10), and tried running '/usr/share/dh-make-php/phppkginfo . oci8' manually. This did nothing and gave no output. On Sat, 22 Mar 2008, Uwe Steinmann wrote: Looks like /usr/share/dh-make-php/phppkginfo fails to read the package.xml file propperly. This is correct, sort of. It's not opening the package.xml file. Try to run it manually. Unpack the oci-1.2.4.tar.gz file and run '/usr/share/dh-make-php/phppkginfo . version' in that directory. Actually, it would be sufficient if the current directory contains the package.xml file. This fails. It fails because phppkginfo takes the first argument and passes it to the method -fromAnyFile in the PEAR_PackageFile. Looking at the code (/usr/share/php/PEAR/PackageFile.php), this method expects a _file_ and throws an error if it does not get one. However phppkginfo does not check the return status of the fromAnyFile method call. excerpt from phppkginfo ... $pkg = new PEAR_PackageFile($config); $pf = $pkg-fromAnyFile($_SERVER[argv][1], PEAR_VALIDATE_NORMAL); ... if (get_class($pf) == PEAR_PackageFile_v1) { ... excerpt from PackageFile.php ... function fromAnyFile($info, $state) { if (is_dir($info)) { $info = PEAR::raiseError('$info' is a directory, a file is expected); return $info; } ... If I run '/usr/share/dh-make-php/phppkginfo ./package.xml version' I get '1.2.4' returned, which is the correct value. What is /usr/bin/php? Is it php4 or php5? php5, I think, as I explicitly installed php5-dev; apt-get install dh-make-php php5-dev That wont be enough. You need php5-cli. I installed version 5.2.0-8+etch10 (latest etch version) So the problems here seem to be: 1. phppkginfo is calling PEAR_PackageFile-fromAnyFile with an incorrect argument (a directory instead of a file) OR the Usage information in phppkginfo is incorrect, and it should stipulate a file name be supplied instead of a directory name. 2. (related to the lack of output) phppkginfo does not check for errors raised by the fromAnyFile call 3. (related to the lack of output) phppkginfo does not complain if get_class($pf) returns anything other than the expected values PEAR_PackageFile_v{1,2}. This could be handled with a simple final else { } . Perhaps it is intended phppkginfo should fail silently, I don't know. Version checks: in the comments above I am referring to /usr/share/php/PEAR/PackageFile.php from php-pear 5.2.0-8+etch10 /usr/share/dh-make-php/phppkginfo from dh-make-php 0.2.10. The file /usr/share/dh-make-php/phppkginfo does not exist in the etch version (0.2.0) of dh-make-php. If I go look at version 5.2.3-1+lenny1 of php-pear, I find that the fromAnyFile method has been significantly reworked and that I can now get the source package tree (php-oci8-1.2.4) from running 'dh-make-pecl oci8'. I was unable to build a binary package from this source package, but more of that later. Summary --- The above suggests dh-make-php should have a versioned dependency on php-pear, since in this case a program in 0.2.10 fails silently when used with php-pear version 5.2.0-8+etch10, but apparently works with 5.2.5-3. Does that sound right to you? Perhaps you could also address problem 3) above, if it is not intended that the phppkginfo program should fail silently on an unexpected value from get_class($pf). These points are both off-topic from the original bug, (which I will go back to working on now); should this bug be cloned to handle the other issues? Cheers Vince -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#449025: --only 5 doesn't help?
Creating debian source package: php-- Upstream is: grep: /usr/include/php4/Zend/zend_modules.h: No such file or directory Guessing Maintainer: root [EMAIL PROTECTED] mv: cannot stat `-': No such file or directory Try the latest version from testing or unstable. I haven't checked but changes are good, that this is fixed already. I tried this in an 'etch' qemu host, with just the standard system plus dh-make-php and php5-dev. I'll send the tar ball of the logs separately. The same behaviour was observed with the etch version or the lenny version (2.10); none of the variables got set by the eval_package function. BTW, no need to be root for calling dh-make-pecl. It just creates a source package. ok, thanks. Cheers Vince -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#449025: --only 5 doesn't help?
On Fri, Mar 21, 2008 at 06:24:04PM +1100, [EMAIL PROTECTED] wrote: Creating debian source package: php-- Upstream is: grep: /usr/include/php4/Zend/zend_modules.h: No such file or directory Guessing Maintainer: root [EMAIL PROTECTED] mv: cannot stat `-': No such file or directory Try the latest version from testing or unstable. I haven't checked but changes are good, that this is fixed already. I tried this in an 'etch' qemu host, with just the standard system plus dh-make-php and php5-dev. I'll send the tar ball of the logs separately. The same behaviour was observed with the etch version or the lenny version (2.10); none of the variables got set by the eval_package function. This is strange because I cannot reproduce it. [EMAIL PROTECTED]:/tmp$ dh-make-pecl --only 5 oci8 downloading oci8-1.2.4.tgz ... Starting to download oci8-1.2.4.tgz (99,687 bytes) ..done: 99,687 bytes File /tmp/oci8-1.2.4.tgz downloaded Creating debian source package: php-oci8-1.2.4 Upstream is: Antony Dovgal, Wez Furlong, Andi Gutmans, Christopher Jones Guessing Maintainer: Uwe Steinmann [EMAIL PROTECTED] [EMAIL PROTECTED]:/tmp$ dh-make-pecl --version 0.2.10 [EMAIL PROTECTED]:/tmp$ ls -l php-oci8-1.2.4/ insgesamt 31 drwxr-xr-x 2 steinm steinm 1024 21. Mär 09:32 debian drwxr-xr-x 3 steinm steinm 1024 21. Mär 09:31 oci8-1.2.4 -rw-r--r-- 1 steinm steinm 27804 1. Sep 2007 package.xml [EMAIL PROTECTED]:/tmp$ Uwe -- MMK GmbH, Fleyer Str. 196, 58097 Hagen [EMAIL PROTECTED] Tel: 02331 840446Fax: 02331 843920 signature.asc Description: Digital signature
Bug#449025: --only 5 doesn't help?
On Mon, Mar 17, 2008 at 01:29:37PM +1100, Vincent McIntyre wrote: Hello, I can't get this to work either, for some reason. It's hard to see where I am going wrong, the --only 5 option is the only addition to the command line. % su # cd /tmp # mkdir test # cd test # dh-make-pecl --only 5 oci8 downloading oci8-1.2.4.tgz ... Starting to download oci8-1.2.4.tgz (99,687 bytes) ..done: 99,687 bytes File /tmp/test/oci8-1.2.4.tgz downloaded Creating debian source package: php-- Upstream is: grep: /usr/include/php4/Zend/zend_modules.h: No such file or directory Guessing Maintainer: root [EMAIL PROTECTED] mv: cannot stat `-': No such file or directory Try the latest version from testing or unstable. I haven't checked but changes are good, that this is fixed already. BTW, no need to be root for calling dh-make-pecl. It just creates a source package. Uwe -- MMK GmbH, Fleyer Str. 196, 58097 Hagen [EMAIL PROTECTED] Tel: 02331 840446Fax: 02331 843920 signature.asc Description: Digital signature
Bug#449025: --only 5 doesn't help?
Hello, I can't get this to work either, for some reason. It's hard to see where I am going wrong, the --only 5 option is the only addition to the command line. % su # cd /tmp # mkdir test # cd test # dh-make-pecl --only 5 oci8 downloading oci8-1.2.4.tgz ... Starting to download oci8-1.2.4.tgz (99,687 bytes) ..done: 99,687 bytes File /tmp/test/oci8-1.2.4.tgz downloaded Creating debian source package: php-- Upstream is: grep: /usr/include/php4/Zend/zend_modules.h: No such file or directory Guessing Maintainer: root [EMAIL PROTECTED] mv: cannot stat `-': No such file or directory # ls -F oci8-1.2.4/ oci8-1.2.4.tgz php--/ php-_.orig.tar.gz@ # dpkg -l dh-make-php Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name VersionDescription +++-==-==- ii dh-make-php0.2.0 Creates Debian source packages for PHP PEAR It appears the php4 dependency is in /usr/share/dh-make-php/dh-make-php.lib The get_zendapi() function is searching in the file /usr/include/php4/Zend/zend_modules.h The zend_modules.h file is provided by (php4-dev | php5-dev), according to p.d.o. So shouldn't dh-make-php depend on those packages? php-pear only suggets them. Cheers Vince -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]