#24166 [Opn->Fbk]: pear makerpm is broken

From: Date: Sun, 15 Jun 2003 16:32:09 +0000
Subject: #24166 [Opn->Fbk]: pear makerpm is broken
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-17490@lists.php.net to get a copy of this message
ID: 24166 Updated by: cox@php.net Reported By: jmcastagnetto@php.net -Status: Open +Status: Feedback Bug Type: PEAR related Operating System: Suse Linux 8.2 PHP Version: 4.3.2 New Comment: Sorry, I commited a wrong version of my original patch, was a casuality to have a package.xml in my current dir, that's why it worked for me :-/ Btw, I've made a new file list, using the RPM vars. I haven't built rpms since many time, perhaps it's not correct. Could you test it? Thanks! Previous Comments: ------------------------------------------------------------------------ [2003-06-15 01:10:47] jmcastagnetto@php.net The patch did not work. The one below does: --- Package.php-orig 2003-06-14 18:27:24.000000000 -0700 +++ Package.php 2003-06-14 18:26:37.000000000 -0700 @@ -585,7 +585,7 @@ $pkgdir = "$info[package]-$info[version]"; $info['rpm_xml_dir'] = '/var/lib/pear'; $this->config->set('verbose', $tmp); - if (!$tar->extractList("$pkgdir/package.xml", $instroot, $pkgdir)) { + if (!$tar->extractList("package.xml", $instroot)) { return $this->raiseError("failed to extract $params[0]"); } if (!file_exists("$instroot/package.xml")) { Also, the spec file might need some more work. The files end up being installed on a place highly dependent on the config of the person generating the RPM, For example. I have PHP installed in '/home/server/php', but most people have it in '/usr/local'. The postinstall part does not seem to be working. No matter what the local config is (tried on a machine where PHP is installed in /usr/local), and the RPM still tried to install it in '/home/server/php'. That is not the correct behaviour. Re-openning as this command still generates something the is (albeit indirectly) broken. I think that the '@doc_dir@' and '@files@' vars in the 'template.spec' might need to be reworked to generate a good non-pacakager-system dependent RPM. ------------------------------------------------------------------------ [2003-06-14 11:58:16] cox@php.net Oops, there was a conflict with my patch that I overpassed, it's commited now. The affected file is php4/pear/PEAR/Command/Package.php Thanks again :-) ------------------------------------------------------------------------ [2003-06-13 18:37:11] jmcastagnetto@php.net What file was changed? I do not see any commits to pear/Archive_Tar or the php4/pear/PEAR/? I am asking because I would like to test this functionality ;-) ------------------------------------------------------------------------ [2003-06-13 04:09:34] cox@php.net Fixed in CVS, Jesus. ------------------------------------------------------------------------ [2003-06-13 02:11:03] jmcastagnetto@php.net Description: ------------ As a test, I tried to generat a spec file for building an rpm. I used one of my released packages (Math_TrigOp) for this test. When I tried using 'pear makerpm', I got an error: $ pear makerpm ../SOURCES/Math_TrigOp-1.0.tgz no package.xml found in ../SOURCES/Math_TrigOp-1.0.tgz To confirm the existence of a package.xml in the tarball: $ tar ztvf ../SOURCES/Math_TrigOp-1.0.tgz -rw-r--r-- 500/100 1489 2003-06-12 23:35:37 package.xml -rw-r--r-- 500/100 5555 2003-01-04 03:55:40 Math_TrigOp-1.0/TrigOp.php Problem might be in Archive_Tar, as PEAR_Command_Package seems OK on a cursory look of the code. For reference: $ pear list-all | grep Archive Archive_Tar 1.1 1.1 $ pear list-all | grep PEAR | grep -v Info PEAR 1.1 1.1 PEAR_Frontend_Gtk 0.3 0.3 PEAR_Frontend_Web 0.3 0.3 Which are the latest releases of the packages used by the pear package manager for this command. Reproduce code: --------------- If you do not have a checkout of pear locally, then do first: $ cvs co pear/Math_TrigOp Then: $ cd pear/Math_TrigOp $ mkdir SPECS SOURCES $ pear package $ mv Math_TrigOp-1.0.tgz SOURCES $ cd SPECS $ pear makerpm ../SOURCES/Math_TrigOp-1.0.tgz Expected result: ---------------- Obtain a valid spec file, of course ;-) Actual result: -------------- An error message an no spec file. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24166&edit=1

« previous php.pear.dev (#17490) next »