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

From: Date: Mon, 16 Jun 2003 17:59:26 +0000
Subject: #24166 [Fbk->Csd]: pear makerpm is broken
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-17524@lists.php.net to get a copy of this message
ID: 24166 Updated by: cox@php.net Reported By: jmcastagnetto@php.net -Status: Feedback +Status: Closed Bug Type: PEAR related Operating System: Suse Linux 8.2 PHP Version: 4.3.2 Assigned To: cox New Comment: AFAIS it uses: /sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin, but it's supposed that you installed the pear cmd from a RPM too, so the pear cmd will get installed under %{_bindir}. For the registry problem you mention, see the %post macro: pear install --nodeps -r /var/lib/pear/Math_TrigOp.xml This macro it's executed after rpm -i, and does register the package in the pear registry (-r means register only). Let me know further issues with the command, for the moment I'll close this bug. Previous Comments: ------------------------------------------------------------------------ [2003-06-16 10:19:58] jmcastagnetto@php.net The spec looks better, but I still get errors: $ pear makerpm ../SOURCES/Math_TrigOp-1.0.tgz Wrote RPM spec file PEAR::Math_TrigOp-1.0.spec $ rpm -bb PEAR\:\:Math_TrigOp-1.0.spec ... Processing files: PEAR::Math_TrigOp-1.0-1 Finding Provides: (using /usr/lib/rpm/find-provides)... Finding Requires: (using /usr/lib/rpm/find-requires)... PreReq: /bin/sh Wrote: /usr/src/packages/RPMS/noarch/PEAR::Math_TrigOp-1.0-1.noarch.rpm So far so good. But it produces when doing the installation, even though the class ends up being installed in '/usr/lib/php/pear/Math/TrigOp.php' (did not use the relocatable option) $ sudo rpm -ivvh /usr/src/packages/RPMS/noarch/PEAR::Math_TrigOp-1.0-1.noarch.rpm D: counting packages to install D: found 1 packages D: looking for packages to download D: retrieved 0 packages D: New Header signature D: Signature size: 68 D: Signature pad : 4 D: sigsize : 72 D: Header + Archive: 3724 D: expected size : 3724 D: opening database mode 0x42 in /var/lib/rpm D: found 0 source and 1 binary packages D: requires: /bin/sh satisfied by db file lists. D: installing binary packages D: getting list of mounted filesystems D: New Header signature D: Signature size: 68 D: Signature pad : 4 D: sigsize : 72 D: Header + Archive: 3724 D: expected size : 3724 D: package: PEAR::Math_TrigOp-1.0-1 files test = 0 D: file: / action: create D: file: /usr action: create D: file: /usr/lib action: create D: file: /usr/lib/php action: create D: file: /usr/lib/php/pear action: create D: file: /usr/lib/php/pear/Math action: create D: file: /usr/lib/php/pear/Math/TrigOp.php action: create D: file: /var action: create D: file: /var/lib action: create D: file: /var/lib/pear action: create D: file: /var/lib/pear/Math_TrigOp.xml action: create D: running preinstall script (if any) PEAR::Math_TrigOp #################################################GZDIO: 2 reads, 8548 total bytes in 0.000 secs # D: running postinstall scripts (if any) + pear install --nodeps -r /var/lib/pear/Math_TrigOp.xml var/tmp/rpm-tmp.47633: line 2: pear: command not found execution of PEAR::Math_TrigOp-1.0-1 script failed, exit status 127 Somehow the 'pear' command is not found, although it is in my PATH: $ which pear /usr/local/bin/pear Is there a fixed set of bin dirs that the rpm uses? A less problematic option might be to: - Put the classes in the same tarball structure, including the package.xml into a temp dir - chdir there - pear install package.xml But then, that would not be better than just using 'pear install packagename'. It is cool that the rpm is generated and puts the stuff on a canonical or user defined place, the problem is that it does not get registered in the pear registry. That might not be that bad, for people that depend on RPMs only. ------------------------------------------------------------------------ [2003-06-16 03:31:38] cox@php.net Finally read some Maximum RPM, and commited a patch. You'll need to cvs update php4/pear/PEAR/Installer.php and php4/pear/template.spec. Please test it. Thanks. ------------------------------------------------------------------------ [2003-06-16 00:19:07] jmcastagnetto@php.net The latest patches generate a spec file, but there is a problem with the building. My local config points to /home/server/php as the root for PHP installation, which is messing up the asumed /usr/local/ (see below). Perhaps we should use the 'Prefix:' tag in the RPM spec to allow for relocatable RPMs? I agree that if would be best to let 'pear' to figure out the appropriate places, and use the RPM as a delivery format to put the stuff in a temp place that 'pear' can use. My experience w/ RPM is limited. Found some good info at: http://www.rpm.org/max-rpm/index.html Example of error while creating the rpm: $ rpm -bb PEAR\:\:Math_TrigOp-1.0.spec Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.64345 + umask 022 + cd /usr/src/packages/BUILD + cd /usr/src/packages/BUILD + /bin/gzip -dc /usr/src/packages/SOURCES/Math_TrigOp-1.0.tgz + tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd Math_TrigOp-1.0 ++ /usr/bin/id -u + '[' 500 = 0 ']' ++ /usr/bin/id -u + '[' 500 = 0 ']' + /bin/chmod -Rf a+rX,g-w,o-w . + mv ../package.xml . + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.64345 + umask 022 + cd /usr/src/packages/BUILD + cd Math_TrigOp-1.0 + echo BuildRoot=/var/tmp/PEAR::Math_TrigOp-root BuildRoot=/var/tmp/PEAR::Math_TrigOp-root + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.64345 + umask 022 + cd /usr/src/packages/BUILD + cd Math_TrigOp-1.0 + rm -rf /var/tmp/PEAR::Math_TrigOp-root/home /var/tmp/PEAR::Math_TrigOp-root/var + pear -q install -R /var/tmp/PEAR::Math_TrigOp-root -n package.xml + mkdir -p /var/tmp/PEAR::Math_TrigOp-root/var/lib/pear + cp -p package.xml /var/tmp/PEAR::Math_TrigOp-root/var/lib/pear/Math_TrigOp.xml + RPM_BUILD_ROOT=/var/tmp/PEAR::Math_TrigOp-root + export RPM_BUILD_ROOT + test -x /usr/sbin/Check -a 500 = 0 -o -x /usr/sbin/Check -a '!' -z /var/tmp/PEAR::Math_TrigOp-root + echo 'I call /usr/sbin/Check...' I call /usr/sbin/Check... + /usr/sbin/Check + /usr/lib/rpm/brp-compress Processing files: PEAR::Math_TrigOp-1.0-1 File not found: /var/tmp/PEAR::Math_TrigOp-root/usr/lib/php/pear/TrigOp.php PreReq: /bin/sh ------------------------------------------------------------------------ [2003-06-15 23:41:13] cox@php.net I'll change the way to unpack/install files. Let me some time to test it better. ------------------------------------------------------------------------ [2003-06-15 11:32:08] cox@php.net 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! ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/24166 -- Edit this bug report at http://bugs.php.net/?id=24166&edit=1

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