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) |