#24166 [Fbk->Csd]: pear makerpm is broken
| From: | cox@php.net | 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