php-pear-Console-GetoptPlus/php-pear-Console_GetoptPlus.spec

116 lines
3.5 KiB
RPMSpec
Raw Normal View History

%define peardir %(pear config-get php_dir 2> /dev/null || echo %{_datadir}/pear)
%define xmldir /var/lib/pear
%global pear_name Console_GetoptPlus
%define name php-pear-Console-GetoptPlus
%define version 1.0.0RC1
%define release 3
Name: %{name}
Version: %{version}
Release: %{release}%{?dist}
Summary: Command-line option parser - Console Getopt+ (Getopt Plus)
License: The BSD License
Group: Development/Libraries
Source0: http://pear.php.net/get/Console_GetoptPlus-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(%{__id_u} -n)
URL: http://pear.php.net/package/Console_GetoptPlus
BuildRequires: php-pear(PEAR) >= 1.4.7
Provides: php-pear(%{pear_name}) = %{version}
#BuildRequires: PEAR::PEAR >= 1.4.7
BuildArch: noarch
%description
This package is (1) a PHP5 port/rewrite of Console_Getopt, (2) with added
functionalities, and (3) with a Web interface to run getopt-like shell
commands through a browser (not implemented yet).
(1) Console_getoptPlus:getopt() is a replacement for
Console_getopt:getopt().
Same for getopt2() and readPHPArgv(). It returns PEAR_Exception instead of
PEAR_Error. Error messages are the same.
(2) GetoptPlus:getoptplus uses an array-based description of the command.
It can generates the command usage/help automaticly. It can return the
parsed options and parameters in an associative array. It can be set to
accept option shortcut names.
Fully tested with phpUnit. Code coverage test close to 100%.
Usage is fully documented in docs/examples files.
%prep
%setup -c -T
pear -v -c pearrc \
-d php_dir=%{peardir} \
-d doc_dir=/docs \
-d bin_dir=%{_bindir} \
-d data_dir=%{peardir}/data \
-d test_dir=%{peardir}/tests \
-d ext_dir=%{_libdir} \
-s
%build
%install
rm -rf %{buildroot}
pear -c pearrc install --nodeps --packagingroot %{buildroot} %{SOURCE0}
# Clean up unnecessary files
rm pearrc
rm -rf %{buildroot}/%{peardir}/.filemap
rm -rf %{buildroot}/%{peardir}/.lock
rm -rf %{buildroot}/%{peardir}/.registry
rm -rf %{buildroot}%{peardir}/.channels
rm -rf %{buildroot}/%{xmldir}/.filemap
rm -rf %{buildroot}/%{xmldir}/.lock
rm -rf %{buildroot}/%{xmldir}/.registry
rm -rf %{buildroot}/%{xmldir}/.channels
if [[ -f %{buildroot}%{xmldir}/.depdb ]] ;then
rm -rf %{buildroot}%{xmldir}/.depdb
fi
if [[ -f %{buildroot}{xmldir}/.depdblock ]] ;then
rm -rf %{buildroot}%{xmldir}/.depdblock
fi
mv %{buildroot}/docs .
# Install XML package description
mkdir -p %{buildroot}%{xmldir}
tar -xzf %{SOURCE0} package.xml
cp -p package.xml %{buildroot}%{xmldir}/Console_GetoptPlus.xml
%clean
rm -rf %{buildroot}
%post
pear install --nodeps --soft --force --register-only %{xmldir}/Console_GetoptPlus.xml >/dev/null || :
%postun
if [ "$1" -eq "0" ]; then
pear uninstall --nodeps --ignore-errors --register-only pear.php.net/Console_GetoptPlus >/dev/null || :
fi
%files
%defattr(-,root,root)
%doc docs/Console_GetoptPlus/*
%{peardir}/*
%{xmldir}/Console_GetoptPlus.xml
%changelog
* Fri Jul 14 2023 BogusDateBot
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
by assuming the date is correct and changing the weekday.
* Thu Jun 16 2016 Jean-Philipe Pialasse <tests@pialasse.com> 1.0.0RC1-3.sme
- importing to buildsys pear packages for Horde [SME: 9600]
* Mon May 6 2013 John H. Bennett III <bennettj@johnbennettservices.com> - 1.0.0RC1-2
- updated spec file requires section, and left original info remarked.
* Sun May 5 2013 John H. Bennett III <bennettj@johnbennettservices.com> - 1.0.0RC1-1
- Original from pear-make-rpm-spec.