diff options
| -rw-r--r-- | Crypt_RSA-role.patch | 42 | ||||
| -rw-r--r-- | php-phpseclib-crypt-rsa.spec | 91 | 
2 files changed, 133 insertions, 0 deletions
diff --git a/Crypt_RSA-role.patch b/Crypt_RSA-role.patch new file mode 100644 index 0000000..079032c --- /dev/null +++ b/Crypt_RSA-role.patch @@ -0,0 +1,42 @@ +--- Crypt_RSA-0.3.5/RSA.php		2014-01-07 11:18:22.000000000 +0100 ++++ Crypt_RSA-0.3.5/RSA.php.fix	2014-01-07 11:18:22.000000000 +0100 +@@ -171,7 +171,7 @@ define('CRYPT_RSA_MODE_OPENSSL', 2); + /** +  * Default openSSL configuration file. +  */ +-define('CRYPT_RSA_OPENSSL_CONFIG', dirname(__FILE__) . '/../openssl.cnf'); ++define('CRYPT_RSA_OPENSSL_CONFIG', 'openssl.cnf'); +  +  + /**#@+ +@@ -465,7 +465,14 @@ class Crypt_RSA { +             require_once('Math/BigInteger.php'); +         } +  +-        $this->configFile = CRYPT_RSA_OPENSSL_CONFIG; ++        $dir = '@cfg_dir@' . DIRECTORY_SEPARATOR . 'Crypt_RSA'; ++        if (strpos($dir, '@') === false) { ++           // PEAR installer was used to install the package ++        } else { ++           // manual install ++           $dir = dirname(__FILE__); ++        } ++        $this->configFile = $dir . DIRECTORY_SEPARATOR . CRYPT_RSA_OPENSSL_CONFIG; +  +         if ( !defined('CRYPT_RSA_MODE') ) { +             switch (true) { +--- package.xml		2014-01-07 11:03:40.000000000 +0100 ++++ package.xml.fix	2014-01-07 11:06:12.000000000 +0100 +@@ -23,8 +23,10 @@  +  <notes>0.3.5 release</notes> +  <contents> +   <dir name="/"> +-    <file baseinstalldir="Crypt" name="RSA.php" role="php" md5sum="bd0402efcbf7cdeb3e68205c77a88bc0"/> +-    <file baseinstalldir="" name="openssl.cnf" role="php" md5sum="0f1015cb8894127a94a05afa7cc23760"/> ++    <file baseinstalldir="Crypt" name="RSA.php" role="php"> ++       <tasks:replace from="@cfg_dir@" to="cfg_dir" type="pear-config" /> ++    </file> ++    <file name="openssl.cnf" role="cfg" md5sum="0f1015cb8894127a94a05afa7cc23760"/> +   </dir> +  </contents> +  <dependencies> diff --git a/php-phpseclib-crypt-rsa.spec b/php-phpseclib-crypt-rsa.spec new file mode 100644 index 0000000..bc380bc --- /dev/null +++ b/php-phpseclib-crypt-rsa.spec @@ -0,0 +1,91 @@ +%{!?pear_metadir: %global pear_metadir %{pear_phpdir}} +%{!?__pear: %{expand: %%global __pear %{_bindir}/pear}} +%global pear_name Crypt_RSA + +Name:           php-phpseclib-crypt-rsa +Version:        0.3.5 +Release:        3%{?dist} +Summary:        Pure-PHP PKCS#1 (v2.1) compliant implementation of RSA + +Group:          Development/Libraries +License:        MIT +URL:            http://phpseclib.sourceforge.net/ +Source0:        http://phpseclib.sourceforge.net/get/%{pear_name}-%{version}.tgz + +# https://sourceforge.net/p/phpseclib/bugs/4/ +Patch0:         %{pear_name}-role.patch + +BuildArch:      noarch +BuildRequires:  php-pear(PEAR) + +Requires(post): %{__pear} +Requires(postun): %{__pear} +Requires:       php-pear(PEAR) +Requires:       php-pear(phpseclib.sourceforge.net/Math_BigInteger) >= 0.3.0 +Requires:       php-pear(phpseclib.sourceforge.net/Crypt_Random) >= 0.3.0 +Requires:       php-pear(phpseclib.sourceforge.net/Crypt_Hash) >= 0.3.0 +Requires:       php-pear(PEAR) >= 1.4.0 +Provides:       php-pear(phpseclib.sourceforge.net/Crypt_RSA) = %{version} +BuildRequires:  php-channel(phpseclib.sourceforge.net) +Requires:       php-channel(phpseclib.sourceforge.net) +# phpcompatinfo, generated from 0.3.5 +Requires:       php-date +Requires:       php-pcre +Requires:       php-xml + +%description +Pure-PHP PKCS#1 (v2.1) compliant implementation of RSA. Optionally uses +openssl. + +%prep +%setup -q -c +sed -e 's/\r//' -i %{pear_name}-%{version}/*php +%patch0 -p0 +mv package.xml %{pear_name}-%{version}/%{name}.xml + +cd %{pear_name}-%{version} + +%build +cd %{pear_name}-%{version} +# Empty build section, most likely nothing required. + + +%install +cd %{pear_name}-%{version} +%{__pear} install --nodeps --packagingroot $RPM_BUILD_ROOT %{name}.xml + +# Clean up unnecessary files +rm -rf $RPM_BUILD_ROOT%{pear_metadir}/.??* + +# Install XML package description +mkdir -p $RPM_BUILD_ROOT%{pear_xmldir} +install -pm 644 %{name}.xml $RPM_BUILD_ROOT%{pear_xmldir} + + +%post +%{__pear} install --nodeps --soft --force --register-only \ +    %{pear_xmldir}/%{name}.xml >/dev/null || : + +%postun +if [ $1 -eq 0 ] ; then +    %{__pear} uninstall --nodeps --ignore-errors --register-only \ +        phpseclib.sourceforge.net/%{pear_name} >/dev/null || : +fi + + +%files +%{pear_xmldir}/%{name}.xml +%{pear_phpdir}/Crypt/RSA.php +%dir %{pear_cfgdir}/%{pear_name} +%config(noreplace) %{pear_cfgdir}/%{pear_name}/openssl.cnf + + +%changelog +* Thu Jan 09 2014 Adam Williamson <awilliam@redhat.com> - 0.3.5-3 +- fix up config file install and use (from Remi Collet) + +* Sat Jan  4 2014 Adam Williamson <awilliam@redhat.com> - 0.3.5-2 +- various review style cleanups + +* Tue Dec 31 2013 Adam Williamson <awilliam@redhat.com> - 0.3.5-1 +- initial package (generated with pear make-rpm-spec)  | 
