summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Crypt_RSA-role.patch42
-rw-r--r--php-phpseclib-crypt-rsa.spec91
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)