[Patch] for template.spec in PHP/PEAR dist

From: 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

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