[Patch] for template.spec in PHP/PEAR dist
| From: | Daichi Shinozaki | Date: | Wed, 07 Apr 2004 17:16:37 +0000 |
| Subject: | [Patch] for template.spec in PHP/PEAR dist | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-27134@lists.php.net to get a copy of this message | ||
Hi,
I've found minor problems in template.spec which is a part of
PEAR/PHP distribution.
o When trying to build rpms from pear packages(.tgz) by issuing command
'/usr/bin/pear makerpm <package.tgz>',
document files listed in packages.xml was not added to rpm
as expected in some packages.
For example,
==snip
root@mantra /tmp/pear# pear makerpm Archive_Tar-1.1.tgz
Notice: Undefined index: role in Package.php on line 645
Notice: Undefined index: role in Package.php on line 654
Wrote RPM spec file PEAR::Archive_Tar-1.1.spec
root@mantra /tmp/pear# rpmbuild -bb PEAR\:\:Archive_Tar-1.1.spec
(...)
Processing files: PEAR::Archive_Tar-1.1-1
Executing(%doc): /sbin/bash -e /var/tmp/rpm-tmp.55483
+ umask 022
+ cd /usr/src/trustix/build
+ DOCDIR=/var/tmp/PEAR::Archive_Tar-root/usr/share/doc/PEAR::Archive_Tar-1.1
+ export DOCDIR
+ rm -rf /var/tmp/PEAR::Archive_Tar-root/usr/share/doc/PEAR::Archive_Tar-1.1
+ /bin/mkdir -p
/var/tmp/PEAR::Archive_Tar-root/usr/share/doc/PEAR::Archive_Tar-1.1
+ cp -pr docs/Archive_Tar.txt
/var/tmp/PEAR::Archive_Tar-root/usr/share/doc/PEAR::Archive_Tar-1.1
cp: cannot stat `docs/Archive_Tar.txt': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.55483 (%doc)
(...)
Wrote: /usr/src/trustix/rpms/noarch/PEAR::Archive_Tar-1.1-1.noarch.rpm
root@mantra /tmp/pear#
==snip
(package_root)/docs/Archive_Tar.txt listed in package.xml was not added
to PEAR::Archive_Tar-1.1-1.noarch.rpm)
Reason:
template.spec only care (package_root)/doc for documentation directory,
but Archive_Tar and other packages use diffirent directory name for doc
dir -- (package_root)/docs, and (package_root)/examples, and so on.
o Due to other reason, documentations of DB-1.6.1.tgz also not added
to rpm.
From packages.xml of DB-1.6.1:
(...)
<file role="doc" name="doc\IDEAS"/>
<file role="doc" name="doc\MAINTAINERS"/>
<file role="doc" name="doc\STATUS"/>
<file role="doc" name="doc\TESTERS"/>
(...)
'\' used for directory separator, but no translation was done when
generating the spec file so resulting spec file contains '\' as
directory separator. This is not good on unix platform.
I think '\' should be replaced to php constant DIRECTORY_SEPARATOR
in PEAR/Command/Package.php.
o When trying to uninstall rpms, following error occurred.
==snip
root@mantra /tmp/pear# rpm -ivh PEAR::HTML_QuickForm-3.2.2-1.noarch.rpm
1:PEAR::HTML_QuickForm #################################### [100%]
install ok: HTML_QuickForm 3.2.2
root@mantra /tmp/pear# rpm -e PEAR\:\:HTML_QuickForm
uninstall ok: HTML_QuickForm
rm: cannot remove `/var/lib/pear/HTML_QuickForm.xml': No such file or
directory
error: execution of %postun scriptlet from PEAR::HTML_QuickForm-3.2.2-1
failed, exit status 1
==snip
in template.spec:
%postun
pear uninstall --nodeps -r @package@
rm @rpm_xml_\dir@/@package@.xml
Simply, a line 'rm @rpm_xml_dir@/@package@.xml' not needed?
My testing environment is following:
Trustix-2.0(based on RH72), rpm-4.0.4, php-4.3.5
Regards,
Daichi Shinozaki