Bug#449025: --only 5 doesn't help?

2008-04-27 Thread Vincent . McIntyre


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?

2008-03-21 Thread Vincent . McIntyre

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?

2008-03-21 Thread Uwe Steinmann
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?

2008-03-19 Thread Uwe Steinmann
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?

2008-03-16 Thread Vincent McIntyre

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]