summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore7
-rw-r--r--REFLECTION8
-rw-r--r--REFLECTION-PHP7276
-rw-r--r--php-pecl-ssh2-0.10-README86
-rw-r--r--php-pecl-ssh2-php7.spec316
-rw-r--r--php-pecl-ssh2.spec108
-rw-r--r--ssh2-php5628.patch49
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
diff --git a/REFLECTION b/REFLECTION
index e5b829c..46c5f04 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -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
-