diff options
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | REFLECTION | 8 | ||||
-rw-r--r-- | REFLECTION-PHP7 | 276 | ||||
-rw-r--r-- | php-pecl-ssh2-0.10-README | 86 | ||||
-rw-r--r-- | php-pecl-ssh2-php7.spec | 316 | ||||
-rw-r--r-- | php-pecl-ssh2.spec | 108 | ||||
-rw-r--r-- | ssh2-php5628.patch | 49 |
7 files changed, 74 insertions, 776 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1ab5c4f --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +package-*.xml +*.tgz +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #161 ssh2 version 0.13 ] { +Extension [ <persistent> extension #76 ssh2 version 1.0 ] { - Constants [21] { Constant [ integer SSH2_FINGERPRINT_MD5 ] { 0 } @@ -32,6 +32,12 @@ Extension [ <persistent> extension #161 ssh2 version 0.13 ] { Parameter #1 [ <required> $port ] } } + Function [ <internal:ssh2> function ssh2_disconnect ] { + + - Parameters [1] { + Parameter #0 [ <required> $resource ] + } + } Function [ <internal:ssh2> function ssh2_methods_negotiated ] { - Parameters [1] { diff --git a/REFLECTION-PHP7 b/REFLECTION-PHP7 deleted file mode 100644 index 46c5f04..0000000 --- a/REFLECTION-PHP7 +++ /dev/null @@ -1,276 +0,0 @@ -Extension [ <persistent> extension #76 ssh2 version 1.0 ] { - - - Constants [21] { - Constant [ integer SSH2_FINGERPRINT_MD5 ] { 0 } - Constant [ integer SSH2_FINGERPRINT_SHA1 ] { 1 } - Constant [ integer SSH2_FINGERPRINT_HEX ] { 0 } - Constant [ integer SSH2_FINGERPRINT_RAW ] { 2 } - Constant [ integer SSH2_TERM_UNIT_CHARS ] { 0 } - Constant [ integer SSH2_TERM_UNIT_PIXELS ] { 1 } - Constant [ string SSH2_DEFAULT_TERMINAL ] { vanilla } - Constant [ integer SSH2_DEFAULT_TERM_WIDTH ] { 80 } - Constant [ integer SSH2_DEFAULT_TERM_HEIGHT ] { 25 } - Constant [ integer SSH2_DEFAULT_TERM_UNIT ] { 0 } - Constant [ integer SSH2_STREAM_STDIO ] { 0 } - Constant [ integer SSH2_STREAM_STDERR ] { 1 } - Constant [ integer SSH2_POLLIN ] { 1 } - Constant [ integer SSH2_POLLEXT ] { 2 } - Constant [ integer SSH2_POLLOUT ] { 4 } - Constant [ integer SSH2_POLLERR ] { 8 } - Constant [ integer SSH2_POLLHUP ] { 16 } - Constant [ integer SSH2_POLLNVAL ] { 32 } - Constant [ integer SSH2_POLL_SESSION_CLOSED ] { 16 } - Constant [ integer SSH2_POLL_CHANNEL_CLOSED ] { 128 } - Constant [ integer SSH2_POLL_LISTENER_CLOSED ] { 128 } - } - - - Functions { - Function [ <internal:ssh2> function ssh2_connect ] { - - - Parameters [2] { - Parameter #0 [ <required> $host ] - Parameter #1 [ <required> $port ] - } - } - Function [ <internal:ssh2> function ssh2_disconnect ] { - - - Parameters [1] { - Parameter #0 [ <required> $resource ] - } - } - Function [ <internal:ssh2> function ssh2_methods_negotiated ] { - - - Parameters [1] { - Parameter #0 [ <required> $resource ] - } - } - Function [ <internal:ssh2> function ssh2_fingerprint ] { - - - Parameters [2] { - Parameter #0 [ <required> $resource ] - Parameter #1 [ <required> $flags ] - } - } - Function [ <internal:ssh2> function ssh2_auth_none ] { - - - Parameters [2] { - Parameter #0 [ <required> $session ] - Parameter #1 [ <required> $username ] - } - } - Function [ <internal:ssh2> function ssh2_auth_password ] { - - - Parameters [3] { - Parameter #0 [ <required> $session ] - Parameter #1 [ <required> $username ] - Parameter #2 [ <required> $password ] - } - } - Function [ <internal:ssh2> function ssh2_auth_pubkey_file ] { - - - Parameters [5] { - Parameter #0 [ <required> $session ] - Parameter #1 [ <required> $username ] - Parameter #2 [ <required> $pubkeyfile ] - Parameter #3 [ <required> $privkeyfile ] - Parameter #4 [ <optional> $passphrase ] - } - } - Function [ <internal:ssh2> function ssh2_auth_hostbased_file ] { - - - Parameters [7] { - Parameter #0 [ <required> $session ] - Parameter #1 [ <required> $username ] - Parameter #2 [ <required> $hostname ] - Parameter #3 [ <required> $pubkeyfile ] - Parameter #4 [ <required> $privkeyfile ] - Parameter #5 [ <optional> $passphrase ] - Parameter #6 [ <optional> $local_username ] - } - } - Function [ <internal:ssh2> function ssh2_forward_listen ] { - } - Function [ <internal:ssh2> function ssh2_forward_accept ] { - } - Function [ <internal:ssh2> function ssh2_shell ] { - - - Parameters [6] { - Parameter #0 [ <required> $session ] - Parameter #1 [ <optional> $termtype ] - Parameter #2 [ <optional> $env ] - Parameter #3 [ <optional> $width ] - Parameter #4 [ <optional> $height ] - Parameter #5 [ <optional> $width_height_type ] - } - } - Function [ <internal:ssh2> function ssh2_exec ] { - - - Parameters [7] { - Parameter #0 [ <required> $session ] - Parameter #1 [ <required> $command ] - Parameter #2 [ <optional> $pty ] - Parameter #3 [ <optional> $env ] - Parameter #4 [ <optional> $width ] - Parameter #5 [ <optional> $height ] - Parameter #6 [ <optional> $width_height_type ] - } - } - Function [ <internal:ssh2> function ssh2_tunnel ] { - - - Parameters [3] { - Parameter #0 [ <required> $session ] - Parameter #1 [ <required> $host ] - Parameter #2 [ <required> $port ] - } - } - Function [ <internal:ssh2> function ssh2_scp_recv ] { - - - Parameters [3] { - Parameter #0 [ <required> $session ] - Parameter #1 [ <required> $remote_file ] - Parameter #2 [ <required> $local_file ] - } - } - Function [ <internal:ssh2> function ssh2_scp_send ] { - - - Parameters [4] { - Parameter #0 [ <required> $session ] - Parameter #1 [ <required> $remote_file ] - Parameter #2 [ <required> $local_file ] - Parameter #3 [ <optional> $create_mode ] - } - } - Function [ <internal:ssh2> function ssh2_fetch_stream ] { - - - Parameters [2] { - Parameter #0 [ <required> $channel ] - Parameter #1 [ <required> $stream_id ] - } - } - Function [ <internal:ssh2> function ssh2_poll ] { - - - Parameters [1] { - Parameter #0 [ <required> &$param0 ] - } - } - Function [ <internal:ssh2> function ssh2_sftp ] { - - - Parameters [1] { - Parameter #0 [ <required> $session ] - } - } - Function [ <internal:ssh2> function ssh2_sftp_rename ] { - - - Parameters [3] { - Parameter #0 [ <required> $sftp ] - Parameter #1 [ <required> $from ] - Parameter #2 [ <required> $to ] - } - } - Function [ <internal:ssh2> function ssh2_sftp_unlink ] { - - - Parameters [2] { - Parameter #0 [ <required> $sftp ] - Parameter #1 [ <required> $filename ] - } - } - Function [ <internal:ssh2> function ssh2_sftp_mkdir ] { - - - Parameters [4] { - Parameter #0 [ <required> $sftp ] - Parameter #1 [ <required> $dirname ] - Parameter #2 [ <optional> $mode ] - Parameter #3 [ <optional> $recursive ] - } - } - Function [ <internal:ssh2> function ssh2_sftp_rmdir ] { - - - Parameters [2] { - Parameter #0 [ <required> $sftp ] - Parameter #1 [ <required> $dirname ] - } - } - Function [ <internal:ssh2> function ssh2_sftp_chmod ] { - - - Parameters [3] { - Parameter #0 [ <required> $sftp ] - Parameter #1 [ <required> $filename ] - Parameter #2 [ <required> $mode ] - } - } - Function [ <internal:ssh2> function ssh2_sftp_stat ] { - - - Parameters [2] { - Parameter #0 [ <required> $sftp ] - Parameter #1 [ <required> $path ] - } - } - Function [ <internal:ssh2> function ssh2_sftp_lstat ] { - - - Parameters [2] { - Parameter #0 [ <required> $sftp ] - Parameter #1 [ <required> $path ] - } - } - Function [ <internal:ssh2> function ssh2_sftp_symlink ] { - - - Parameters [3] { - Parameter #0 [ <required> $sftp ] - Parameter #1 [ <required> $target ] - Parameter #2 [ <required> $link ] - } - } - Function [ <internal:ssh2> function ssh2_sftp_readlink ] { - - - Parameters [2] { - Parameter #0 [ <required> $sftp ] - Parameter #1 [ <required> $link ] - } - } - Function [ <internal:ssh2> function ssh2_sftp_realpath ] { - - - Parameters [2] { - Parameter #0 [ <required> $sftp ] - Parameter #1 [ <required> $filename ] - } - } - Function [ <internal:ssh2> function ssh2_publickey_init ] { - - - Parameters [1] { - Parameter #0 [ <required> $session ] - } - } - Function [ <internal:ssh2> function ssh2_publickey_add ] { - - - Parameters [5] { - Parameter #0 [ <required> $pkey ] - Parameter #1 [ <required> $algoname ] - Parameter #2 [ <required> $blob ] - Parameter #3 [ <optional> $overwrite ] - Parameter #4 [ <optional> $attributes ] - } - } - Function [ <internal:ssh2> function ssh2_publickey_remove ] { - - - Parameters [3] { - Parameter #0 [ <required> $pkey ] - Parameter #1 [ <required> $algoname ] - Parameter #2 [ <required> $blob ] - } - } - Function [ <internal:ssh2> function ssh2_publickey_list ] { - - - Parameters [1] { - Parameter #0 [ <required> $pkey ] - } - } - Function [ <internal:ssh2> function ssh2_auth_agent ] { - - - Parameters [2] { - Parameter #0 [ <required> $session ] - Parameter #1 [ <required> $username ] - } - } - } -} - diff --git a/php-pecl-ssh2-0.10-README b/php-pecl-ssh2-0.10-README deleted file mode 100644 index 3f59aad..0000000 --- a/php-pecl-ssh2-0.10-README +++ /dev/null @@ -1,86 +0,0 @@ ----------------------------------------- -See this link for more documentation: -http://php.net/ssh2 ----------------------------------------- - -CLIII. Secure Shell2 Functions -Introduction - -Bindings to the libssh2 library which provide access to resources (shell, remote exec, tunneling, file transfer) on a remote machine using a secure cryptographic transport. - -Predefined Constants - -The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime. - -SSH2_FINGERPRINT_MD5 (integer) - - Flag to ssh2_fingerprint() requesting hostkey fingerprint as an MD5 hash. -SSH2_FINGERPRINT_SHA1 (integer) - - Flag to ssh2_fingerprint() requesting hostkey fingerprint as an SHA1 hash. -SSH2_FINGERPRINT_HEX (integer) - - Flag to ssh2_fingerprint() requesting hostkey fingerprint as a string of hexits. -SSH2_FINGERPRINT_RAW (integer) - - Flag to ssh2_fingerprint() requesting hostkey fingerprint as a raw string of 8-bit characters. -SSH2_TERM_UNIT_CHARS (integer) - - Flag to ssh2_shell() specifying that width and height are provided as character sizes. -SSH2_TERM_UNIT_PIXELS (integer) - - Flag to ssh2_shell() specifying that width and height are provided in pixel units. -SSH2_DEFAULT_TERM_WIDTH (integer) - - Default terminal width requested by ssh2_shell(). -SSH2_DEFAULT_TERM_HEIGHT (integer) - - Default terminal height requested by ssh2_shell(). -SSH2_DEFAULT_TERM_UNIT (integer) - - Default terminal units requested by ssh2_shell(). -SSH2_STREAM_STDIO (integer) - - Flag to ssh2_fetch_stream() requesting STDIO subchannel. -SSH2_STREAM_STDERR (integer) - - Flag to ssh2_fetch_stream() requesting STDERR subchannel. -SSH2_DEFAULT_TERMINAL (string) - - Default terminal type (e.g. vt102, ansi, xterm, vanilla) requested by ssh2_shell(). - - -Table of Contents: - -ssh2_auth_hostbased_file -- Authenticate using a public hostkey -ssh2_auth_none -- Authenticate as "none" -ssh2_auth_password -- Authenticate over SSH using a plain password -ssh2_auth_pubkey_file -- Authenticate using a public key -ssh2_connect -- Connect to an SSH server -ssh2_exec -- Execute a command on a remote server -ssh2_fetch_stream -- Fetch an extended data stream -ssh2_fingerprint -- Retreive fingerprint of remote server -ssh2_methods_negotiated -- Return list of negotiated methods -ssh2_publickey_add -- Add an authorized publickey -ssh2_publickey_init -- Initialize Publickey subsystem -ssh2_publickey_list -- List currently authorized publickeys -ssh2_publickey_remove -- Remove an authorized publickey -ssh2_scp_recv -- Request a file via SCP -ssh2_scp_send -- Send a file via SCP -ssh2_sftp_lstat -- Stat a symbolic link -ssh2_sftp_mkdir -- Create a directory -ssh2_sftp_readlink -- Return the target of a symbolic link -ssh2_sftp_realpath -- Resolve the realpath of a provided path string -ssh2_sftp_rename -- Rename a remote file -ssh2_sftp_rmdir -- Remove a directory -ssh2_sftp_stat -- Stat a file on a remote filesystem -ssh2_sftp_symlink -- Create a symlink -ssh2_sftp_unlink -- Delete a file -ssh2_sftp -- Initialize SFTP subsystem -ssh2_shell -- Request an interactive shell -ssh2_tunnel -- Open a tunnel through a remote server - ----------------------------------------- -See this link for more documentation: -http://php.net/ssh2 ----------------------------------------- diff --git a/php-pecl-ssh2-php7.spec b/php-pecl-ssh2-php7.spec deleted file mode 100644 index a519b6e..0000000 --- a/php-pecl-ssh2-php7.spec +++ /dev/null @@ -1,316 +0,0 @@ -# remirepo spec file for php-pecl-ssh2 -# with SCL compatibility -# -# Copyright (c) 2011-2017 Remi Collet -# -# Fedora spec file for php-pecl-ssh2 -# -# License: MIT -# -# Please, preserve the changelog entries -# -%if 0%{?scl:1} -%global sub_prefix %{scl_prefix} -%scl_package php-pecl-ssh2 -%endif - -# See https://github.com/php/pecl-networking-ssh2/commits/master -%global gh_commit 50d97a52c39166d59e59222a20e841f3f3ce594d -%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -#global gh_date 20160113 -%global gh_owner php -%global gh_project pecl-networking-ssh2 -%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} -%global pecl_name ssh2 -%global ini_name 40-%{pecl_name}.ini - -Name: %{?sub_prefix}php-pecl-ssh2 -Version: 1.0 -%if 0%{?gh_date} -Release: 0.2.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} -Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}%{?prever}-%{gh_short}.tar.gz -%else -Release: 5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} -Source0: http://pecl.php.net/get/ssh2-%{version}.tgz -%endif -Summary: Bindings for the libssh2 library - -%global buildver %(pkg-config --silence-errors --modversion libssh2 2>/dev/null || echo 65536) - -Patch0: %{pecl_name}-php7013.patch - -License: PHP -Group: Development/Languages -URL: http://pecl.php.net/package/ssh2 - -BuildRequires: libssh2-devel >= 1.2 -BuildRequires: %{?scl_prefix}php-devel > 7 -BuildRequires: %{?scl_prefix}php-pear - -Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} -Requires: %{?scl_prefix}php(api) = %{php_core_api} -Requires: libssh2%{?_isa} >= %{buildver} -%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} - -Provides: %{?scl_prefix}php-%{pecl_name} = %{version} -Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} -Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} -Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} -%if "%{?scl_prefix}" != "%{?sub_prefix}" -Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release} -Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} -%endif - -%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} -# Other third party repo stuff -Obsoletes: php53-pecl-%{pecl_name} <= %{version} -Obsoletes: php53u-pecl-%{pecl_name} <= %{version} -Obsoletes: php54-pecl-%{pecl_name} <= %{version} -Obsoletes: php54w-pecl-%{pecl_name} <= %{version} -Obsoletes: php55u-pecl-%{pecl_name} <= %{version} -Obsoletes: php55w-pecl-%{pecl_name} <= %{version} -Obsoletes: php56u-pecl-%{pecl_name} <= %{version} -Obsoletes: php56w-pecl-%{pecl_name} <= %{version} -Obsoletes: php70u-pecl-%{pecl_name} <= %{version} -Obsoletes: php70w-pecl-%{pecl_name} <= %{version} -%if "%{php_version}" > "7.1" -Obsoletes: php71u-pecl-%{pecl_name} <= %{version} -Obsoletes: php71w-pecl-%{pecl_name} <= %{version} -%endif -%endif - -%if 0%{?fedora} < 20 && 0%{?rhel} < 7 -# Filter private shared -%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} -%{?filter_setup} -%endif - - -%description -Bindings to the libssh2 library which provide access to resources -(shell, remote exec, tunneling, file transfer) on a remote machine using -a secure cryptographic transport. - -Documentation: http://php.net/ssh2 - -Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. - - -%prep -%setup -c -q -%if 0%{?gh_date} -mv %{gh_project}-%{gh_commit} NTS -%{__php} -r ' - $pkg = simplexml_load_file("NTS/package.xml"); - $pkg->date = substr("%{gh_date}",0,4)."-".substr("%{gh_date}",4,2)."-".substr("%{gh_date}",6,2); - $pkg->version->release = "%{version}dev"; - $pkg->stability->release = "devel"; - $pkg->asXML("package.xml"); -' -%else -mv %{pecl_name}-%{version} NTS -%endif - -# Don't install/register tests -sed -e 's/role="test"/role="src"/' \ - %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ - -i package.xml - -cd NTS -%patch0 -p1 -b .php7013 - -extver=$(sed -n '/#define PHP_SSH2_VERSION/{s/.* "//;s/".*$//;p}' php_ssh2.h) -if test "x${extver}" != "x%{version}%{?gh_date:-dev}"; then - : Error: Upstream version is now ${extver}, expecting %{version}%{?gh_date:-dev}. - : Update the pdover macro and rebuild. - exit 1 -fi -cd .. - -cat > %{ini_name} << 'EOF' -; Enable ssh2 extension module -extension=ssh2.so -EOF - -%if %{with_zts} -: Duplicate source tree for NTS / ZTS build -cp -pr NTS ZTS -%endif - - -%build -cd NTS -%{_bindir}/phpize -%configure --with-php-config=%{_bindir}/php-config -make %{?_smp_mflags} - -%if %{with_zts} -cd ../ZTS -%{_bindir}/zts-phpize -%configure --with-php-config=%{_bindir}/zts-php-config -make %{?_smp_mflags} -%endif - - -%install -make -C NTS install INSTALL_ROOT=%{buildroot} - -# Install XML package description -install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml - -# install config file -install -Dpm644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} - -%if %{with_zts} -make -C ZTS install INSTALL_ROOT=%{buildroot} -install -Dpm644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} -%endif - -# Documentation -for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i -done - - - -%check -: Minimal load test for NTS extension -%{__php} --no-php-ini \ - --define extension_dir=%{buildroot}%{php_extdir} \ - --define extension=%{pecl_name}.so \ - --modules | grep %{pecl_name} - -%if %{with_zts} -: Minimal load test for ZTS extension -%{__ztsphp} --no-php-ini \ - --define extension_dir=%{buildroot}%{php_ztsextdir} \ - --define extension=%{pecl_name}.so \ - --modules | grep %{pecl_name} -%endif - - -%if 0%{?fedora} < 24 -# when pear installed alone, after us -%triggerin -- %{?scl_prefix}php-pear -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -# posttrans as pear can be installed after us -%posttrans -%if 0%{?gh_date} -echo -e "\n** %{name} is an experimental package, built from a development sources snapshot **\n" -%endif -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -%postun -if [ $1 -eq 0 -a -x %{__pecl} ] ; then - %{pecl_uninstall} %{pecl_name} >/dev/null || : -fi -%endif - - -%files -%{?_licensedir:%license NTS/LICENSE} -%{!?_licensedir:%doc %{pecl_docdir}/%{pecl_name}} -%{pecl_xmldir}/%{name}.xml - -%config(noreplace) %{php_inidir}/%{ini_name} -%{php_extdir}/ssh2.so - -%if %{with_zts} -%config(noreplace) %{php_ztsinidir}/%{ini_name} -%{php_ztsextdir}/ssh2.so -%endif - - -%changelog -* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 1.0-5 -- rebuild with PHP 7.1.0 GA - -* Thu Nov 10 2016 Remi Collet <remi@fedoraproject.org> - 1.0-4 -- add patch for parse_url change in PHP 7.0.13 - -* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 1.0-2 -- rebuild for PHP 7.1 new API version - -* Sun Jun 12 2016 Remi Collet <remi@fedoraproject.org> - 1.0-1 -- update to 1.0 - -* Wed Jan 13 2016 Remi Collet <remi@fedoraproject.org> - 0.13-0.1.20160113git50d97a5 -- update to 0.13-dev, git snapshot, for PHP 7 - -* Tue Jun 23 2015 Remi Collet <remi@fedoraproject.org> - 0.12-6 -- allow build against rh-php56 (as more-php56) -- drop runtime dependency on pear, new scriptlets - -* Wed Dec 24 2014 Remi Collet <remi@fedoraproject.org> - 0.12-5.1 -- Fedora 21 SCL mass rebuild - -* Sat Dec 20 2014 Remi Collet <remi@fedoraproject.org> - 0.12-5 -- rebuild for new libssh2 in EL-5 -- ensure dependency on libssh2 used at buildtime - -* Mon Aug 25 2014 Remi Collet <rcollet@redhat.com> - 0.12-4 -- improve SCL build - -* Thu Apr 17 2014 Remi Collet <remi@fedoraproject.org> - 0.12-3 -- add numerical prefix to extension configuration file (php 5.6) - -* Sat Nov 30 2013 Remi Collet <RPMS@FamilleCollet.com> - 0.12-2 -- cleanups for Copr -- adap for SCL -- install doc in pecl doc_dir - -* Fri Nov 30 2012 Remi Collet <RPMS@FamilleCollet.com> - 0.12-1.1 -- also provides php-ssh2 - -* Thu Oct 18 2012 Remi Collet <RPMS@FamilleCollet.com> - 0.12-1 -- update to 0.12 -- raise dependency on libssh2 >= 1.2 - -* Sun Nov 13 2011 Remi Collet <remi@fedoraproject.org> - 0.11.3-2 -- build against php 5.4 - -* Tue Oct 04 2011 Remi Collet <RPMS@FamilleCollet.com> - 0.11.3-1 -- update to 0.11.3 -- zts extension - -* Tue Aug 16 2011 Remi Collet <RPMS@FamilleCollet.com> - 0.11.2-1.1 -- EL-5 rebuild for libssh2 -- add filter - -* Sat Apr 16 2011 Remi Collet <RPMS@FamilleCollet.com> - 0.11.2-1 -- update to 0.11.2 -- add minimal %%check - -* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Thu Jan 14 2010 Chris Weyl <cweyl@alumni.drew.edu> 0.11.0-6 -- bump for libssh2 rebuild - - -* Mon Sep 21 2009 Chris Weyl <cweyl@alumni.drew.edu> - 0.11.0-5 -- rebuild for libssh2 1.2 - -* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Sun Jul 12 2009 Remi Collet <Fedora@FamilleCollet.com> - 0.11.0-3 -- add ssh2-php53.patch -- rebuild for new PHP 5.3.0 ABI (20090626) - -* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Sat Dec 20 2008 Itamar Reis Peixoto <itamar@ispbrasil.com.br> 0.11.0-1 -- convert package.xml to V2 format, update to 0.11.0 #BZ 476405 - -* Sat Nov 15 2008 Itamar Reis Peixoto <itamar@ispbrasil.com.br> 0.10-2 -- Install pecl xml, license and readme files - -* Wed Jul 16 2008 Itamar Reis Peixoto <itamar@ispbrasil.com.br> 0.10-1 -- Initial release diff --git a/php-pecl-ssh2.spec b/php-pecl-ssh2.spec index f9294b7..a519b6e 100644 --- a/php-pecl-ssh2.spec +++ b/php-pecl-ssh2.spec @@ -10,40 +10,41 @@ # Please, preserve the changelog entries # %if 0%{?scl:1} -%if "%{scl}" == "rh-php56" -%global sub_prefix more-php56- -%else %global sub_prefix %{scl_prefix} -%endif %scl_package php-pecl-ssh2 %endif -%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} -%global pecl_name ssh2 -%if "%{php_version}" < "5.6" -%global ini_name %{pecl_name}.ini -%else -%global ini_name 40-%{pecl_name}.ini -%endif +# See https://github.com/php/pecl-networking-ssh2/commits/master +%global gh_commit 50d97a52c39166d59e59222a20e841f3f3ce594d +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +#global gh_date 20160113 +%global gh_owner php +%global gh_project pecl-networking-ssh2 +%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} +%global pecl_name ssh2 +%global ini_name 40-%{pecl_name}.ini Name: %{?sub_prefix}php-pecl-ssh2 -Version: 0.13 -Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Version: 1.0 +%if 0%{?gh_date} +Release: 0.2.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}%{?prever}-%{gh_short}.tar.gz +%else +Release: 5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Source0: http://pecl.php.net/get/ssh2-%{version}.tgz +%endif Summary: Bindings for the libssh2 library %global buildver %(pkg-config --silence-errors --modversion libssh2 2>/dev/null || echo 65536) +Patch0: %{pecl_name}-php7013.patch + License: PHP Group: Development/Languages URL: http://pecl.php.net/package/ssh2 -Source0: http://pecl.php.net/get/ssh2-%{version}.tgz -Source2: php-pecl-ssh2-0.10-README -Patch0: %{pecl_name}-php5628.patch - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libssh2-devel >= 1.2 -BuildRequires: %{?scl_prefix}php-devel < 7 +BuildRequires: %{?scl_prefix}php-devel > 7 BuildRequires: %{?scl_prefix}php-pear Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} @@ -51,9 +52,9 @@ Requires: %{?scl_prefix}php(api) = %{php_core_api} Requires: libssh2%{?_isa} >= %{buildver} %{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} -Provides: %{?scl_prefix}php-%{pecl_name} = %{version} -Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} -Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} +Provides: %{?scl_prefix}php-%{pecl_name} = %{version} +Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} +Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} %if "%{?scl_prefix}" != "%{?sub_prefix}" Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release} @@ -62,17 +63,19 @@ Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{rele %if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} # Other third party repo stuff -Obsoletes: php53-pecl-%{pecl_name} <= %{version} +Obsoletes: php53-pecl-%{pecl_name} <= %{version} Obsoletes: php53u-pecl-%{pecl_name} <= %{version} -Obsoletes: php54-pecl-%{pecl_name} <= %{version} +Obsoletes: php54-pecl-%{pecl_name} <= %{version} Obsoletes: php54w-pecl-%{pecl_name} <= %{version} -%if "%{php_version}" > "5.5" Obsoletes: php55u-pecl-%{pecl_name} <= %{version} Obsoletes: php55w-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "5.6" Obsoletes: php56u-pecl-%{pecl_name} <= %{version} Obsoletes: php56w-pecl-%{pecl_name} <= %{version} +Obsoletes: php70u-pecl-%{pecl_name} <= %{version} +Obsoletes: php70w-pecl-%{pecl_name} <= %{version} +%if "%{php_version}" > "7.1" +Obsoletes: php71u-pecl-%{pecl_name} <= %{version} +Obsoletes: php71w-pecl-%{pecl_name} <= %{version} %endif %endif @@ -95,26 +98,35 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO %prep %setup -c -q +%if 0%{?gh_date} +mv %{gh_project}-%{gh_commit} NTS +%{__php} -r ' + $pkg = simplexml_load_file("NTS/package.xml"); + $pkg->date = substr("%{gh_date}",0,4)."-".substr("%{gh_date}",4,2)."-".substr("%{gh_date}",6,2); + $pkg->version->release = "%{version}dev"; + $pkg->stability->release = "devel"; + $pkg->asXML("package.xml"); +' +%else +mv %{pecl_name}-%{version} NTS +%endif # Don't install/register tests sed -e 's/role="test"/role="src"/' \ %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ -i package.xml -mv %{pecl_name}-%{version} NTS cd NTS %patch0 -p1 -b .php7013 extver=$(sed -n '/#define PHP_SSH2_VERSION/{s/.* "//;s/".*$//;p}' php_ssh2.h) -if test "x${extver}" != "x%{version}"; then - : Error: Upstream version is now ${extver}, expecting %{version}. +if test "x${extver}" != "x%{version}%{?gh_date:-dev}"; then + : Error: Upstream version is now ${extver}, expecting %{version}%{?gh_date:-dev}. : Update the pdover macro and rebuild. exit 1 fi cd .. -cp %{SOURCE2} README - cat > %{ini_name} << 'EOF' ; Enable ssh2 extension module extension=ssh2.so @@ -141,8 +153,6 @@ make %{?_smp_mflags} %install -rm -rf %{buildroot} - make -C NTS install INSTALL_ROOT=%{buildroot} # Install XML package description @@ -157,8 +167,6 @@ install -Dpm644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif # Documentation -install -Dpm 644 README %{buildroot}%{pecl_docdir}/%{pecl_name}/README - for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i done @@ -190,6 +198,9 @@ fi # posttrans as pear can be installed after us %posttrans +%if 0%{?gh_date} +echo -e "\n** %{name} is an experimental package, built from a development sources snapshot **\n" +%endif if [ -x %{__pecl} ] ; then %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : fi @@ -201,14 +212,9 @@ fi %endif -%clean -rm -rf %{buildroot} - - %files -%defattr(-,root,root,-) %{?_licensedir:%license NTS/LICENSE} -%doc %{pecl_docdir}/%{pecl_name} +%{!?_licensedir:%doc %{pecl_docdir}/%{pecl_name}} %{pecl_xmldir}/%{name}.xml %config(noreplace) %{php_inidir}/%{ini_name} @@ -221,14 +227,20 @@ rm -rf %{buildroot} %changelog -* Thu Nov 10 2016 Remi Collet <remi@fedoraproject.org> - 0.13-3 -- add patch for parse_url change in PHP 5.6.28 +* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 1.0-5 +- rebuild with PHP 7.1.0 GA + +* Thu Nov 10 2016 Remi Collet <remi@fedoraproject.org> - 1.0-4 +- add patch for parse_url change in PHP 7.0.13 + +* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 1.0-2 +- rebuild for PHP 7.1 new API version -* Sun Jun 12 2016 Remi Collet <remi@fedoraproject.org> - 0.13-1 -- update to 0.13 +* Sun Jun 12 2016 Remi Collet <remi@fedoraproject.org> - 1.0-1 +- update to 1.0 -* Tue Mar 8 2016 Remi Collet <remi@fedoraproject.org> - 0.12-7 -- adapt for F24 +* Wed Jan 13 2016 Remi Collet <remi@fedoraproject.org> - 0.13-0.1.20160113git50d97a5 +- update to 0.13-dev, git snapshot, for PHP 7 * Tue Jun 23 2015 Remi Collet <remi@fedoraproject.org> - 0.12-6 - allow build against rh-php56 (as more-php56) diff --git a/ssh2-php5628.patch b/ssh2-php5628.patch deleted file mode 100644 index c9c052f..0000000 --- a/ssh2-php5628.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 093906ec1c065e86ad1cd4dabbc89b1ccae11938 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@php.net> -Date: Thu, 10 Nov 2016 09:16:02 +0100 -Subject: [PATCH] fix for PHP 7.0.13 where php_url_parse fails - ---- - ssh2_fopen_wrappers.c | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c -index 8472ddd..89b34eb 100644 ---- a/ssh2_fopen_wrappers.c -+++ b/ssh2_fopen_wrappers.c -@@ -198,10 +198,20 @@ php_url *php_ssh2_fopen_wraper_parse_path( char *path, char *type, php_stream_co - php_url *resource; - zval *methods = NULL, *callbacks = NULL, zsession, **tmpzval; - long resource_id; -- char *s, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL; -+ char *h, *s, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL; - int username_len = 0, password_len = 0; - -- resource = php_url_parse(path); -+ h = strstr(path, "Resource id #"); -+ if (h) { -+ /* Starting with 5.6.28, 7.0.13 need to be clean, else php_url_parse will fail */ -+ char *tmp = estrdup(path); -+ -+ strncpy(tmp + (h-path), h + sizeof("Resource id #")-1, strlen(tmp)-sizeof("Resource id #")); -+ resource = php_url_parse(tmp); -+ efree(tmp); -+ } else { -+ resource = php_url_parse(path); -+ } - if (!resource || !resource->path) { - return NULL; - } -@@ -232,9 +242,6 @@ php_url *php_ssh2_fopen_wraper_parse_path( char *path, char *type, php_stream_co - - /* Look for a resource ID to reuse a session */ - s = resource->host; -- if (strncmp(resource->host, "Resource id #", sizeof("Resource id #") - 1) == 0) { -- s = resource->host + sizeof("Resource id #") - 1; -- } - if (is_numeric_string(s, strlen(s), &resource_id, NULL, 0) == IS_LONG) { - php_ssh2_sftp_data *sftp_data; - --- -2.1.4 - |