Skip to content

Commit a3d077e

Browse files
authored
New release (#68)
Disabled OSX 10.11 wheel builds Updated travis cfg for osx builds Removed system package builds. Updated travis cfg to not login or push to docker on PR builds. Switched testing to pytest. Removed channel close on channel object de-allocation. Removed GIL release on session and channel object de-allocation. Updated Changelog. Removed out of repo package files before building wheels and updated gitignore - resolves #14 Migrated manylinux wheel builds to openssl 1.1. Migrated Windows builds to openssl 1.1. Updated changelog. Updated manylinux wheel embedded libssh2 version.
1 parent edcd20a commit a3d077e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2371
-1876
lines changed

.appveyor.yml

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ environment:
66
CMD_IN_ENV: "cmd /E:ON /V:ON /C %APPVEYOR_BUILD_FOLDER%\\ci\\appveyor\\run_with_env.cmd"
77
PYTHONUNBUFFERED: 1
88
EMBEDDED_LIB: 1
9-
OPENSSL_VER: 1.0.2q
9+
OPENSSL_VER: 1.1.0h
1010
PYPI_USER:
1111
secure: 2m0jy6JD/R9RExIosOT6YA==
1212
PYPI_PASS:
@@ -26,20 +26,6 @@ environment:
2626
ARCH: x64_86
2727
SYSTEM_LIBSSH2: 1
2828

29-
- PYTHON: "C:\\Python34"
30-
PYTHON_VERSION: "3.4"
31-
PYTHON_ARCH: "32"
32-
MSVC: "Visual Studio 10"
33-
ARCH: i386
34-
SYSTEM_LIBSSH2: 1
35-
36-
- PYTHON: "C:\\Python34-x64"
37-
PYTHON_VERSION: "3.4"
38-
PYTHON_ARCH: "64"
39-
MSVC: "Visual Studio 10 Win64"
40-
ARCH: x64_86
41-
SYSTEM_LIBSSH2: 1
42-
4329
- PYTHON: "C:\\Python35"
4430
PYTHON_VERSION: "3.5"
4531
PYTHON_ARCH: "32"
@@ -123,9 +109,9 @@ install:
123109
- python ci/appveyor/fix_version.py .
124110
- mv -f .git .git.bak
125111
- 7z x ci\appveyor\zlib1211.zip
126-
- 7z x ci\appveyor\openssl-%OPENSSL_VER%-%ARCH%-win%PYTHON_ARCH%.zip
127-
- cp ssleay32.dll ssh2\
128-
- cp libeay32.dll ssh2\
112+
- 7z x ci\appveyor\openssl-%OPENSSL_VER%-x%PYTHON_ARCH%-VC2017.zip
113+
- cp openssl-%OPENSSL_VER%-x%PYTHON_ARCH%-VC2017\libssl-1_1-x%PYTHON_ARCH%.dll ssh2\ || cp openssl-%OPENSSL_VER%-x%PYTHON_ARCH%-VC2017\libssl-1_1.dll ssh2\
114+
- cp openssl-%OPENSSL_VER%-x%PYTHON_ARCH%-VC2017\libcrypto-1_1-x%PYTHON_ARCH%.dll ssh2\ || cp openssl-%OPENSSL_VER%-x%PYTHON_ARCH%-VC2017\libcrypto-1_1.dll ssh2\
129115
- ps: ls ssh2
130116
build_script:
131117
- "%CMD_IN_ENV% ci\\appveyor\\build_zlib.bat"

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,7 @@ openssl-1.0.2q-i386-win32.zip filter=lfs diff=lfs merge=lfs -text
22
openssl-1.0.2q-x64_86-win64.zip filter=lfs diff=lfs merge=lfs -text
33
zlib1211.zip filter=lfs diff=lfs merge=lfs -text
44
*.tar.gz filter=lfs diff=lfs merge=lfs -text
5+
*.zip filter=lfs diff=lfs merge=lfs -text
6+
*.rpm filter=lfs diff=lfs merge=lfs -text
7+
ci/docker/manylinux/libssh2.tar.gz filter=lfs diff=lfs merge=lfs -text
8+
ci/docker/manylinux/cmake-2.8.11.1-5.4.x86_64.rpm filter=lfs diff=lfs merge=lfs -text

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ build
55
*~
66
*.so
77
.idea/
8+
ssh2/libssh2.so*

.travis.yml

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ cache:
33
- pip
44
- directories:
55
- "$HOME/.pyenv"
6+
- "$HOME/Library/Caches/Homebrew"
67
notifications:
78
email: false
89
sudo: required
@@ -26,7 +27,7 @@ install:
2627
- python setup.py build_ext --inplace
2728
- eval "$(ssh-agent -s)"
2829
script:
29-
- nosetests
30+
- pytest tests
3031
- flake8 ssh2
3132
# Test source distribution builds
3233
- python setup.py sdist
@@ -44,12 +45,14 @@ jobs:
4445
- &osx-wheels
4546
stage: build packages
4647
os: osx
47-
osx_image: xcode8
48+
osx_image: xcode9.2
4849
env:
49-
- PYENV: 3.6.4
5050
- SYSTEM_LIBSSH2: 1
51+
before_cache:
52+
- brew cleanup
5153
before_install:
5254
- brew update
55+
- brew install ccache
5356
- brew outdated openssl || travis_wait brew upgrade openssl || echo "y"
5457
- brew link --overwrite python@2 || brew install python@2 || brew link --overwrite python@2
5558
- which python2
@@ -74,7 +77,6 @@ jobs:
7477
- python -c "from ssh2.session import Session; Session()"
7578
- cd ..; pwd
7679
- mv -f *.whl wheels/
77-
- travis_wait ./ci/travis/pyenv-wheel.sh
7880
after_success:
7981
- if [[ ! -z "$TRAVIS_TAG" ]]; then
8082
twine upload --skip-existing -u $PYPI_U -p $PYPI_P wheels/*.whl;
@@ -86,12 +88,18 @@ jobs:
8688
osx_image: xcode9.2
8789

8890
- <<: *osx-wheels
89-
osx_image: xcode9.4
91+
osx_image: xcode9.2
92+
env:
93+
- PYENV: 3.6.4
94+
- SYSTEM_LIBSSH2: 1
95+
install: skip
96+
script:
97+
- travis_wait ./ci/travis/pyenv-wheel.sh
9098

9199
- <<: *osx-wheels
92-
osx_image: xcode8
100+
osx_image: xcode9.4
93101
env:
94-
- PYENV: 3.7.0
102+
- PYENV: 3.6.4
95103
- SYSTEM_LIBSSH2: 1
96104
install: skip
97105
script:
@@ -115,28 +123,6 @@ jobs:
115123
script:
116124
- travis_wait ./ci/travis/pyenv-wheel.sh
117125

118-
- stage: build packages
119-
env:
120-
- SYSTEM_PACKAGES=1
121-
os: linux
122-
language: generic
123-
python: skip
124-
install: skip
125-
script:
126-
- docker --version
127-
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
128-
- ./ci/docker/build-packages.sh
129-
deploy:
130-
- provider: releases
131-
skip_cleanup: true
132-
api_key:
133-
secure: i1Dr0k393wXBsCKST5ckeTPdZT+hjkikHCGgMSEkJxw+Q8m/Sgq9bbBalkJZDZDc8t0a/nE4ioEXoYO+PT9wRSpjLbjDVwRoWde5PVHaR3JviiwxULEynFLbvdJ1S2O/zRM37YMVgIIXN/2SWSXvQcQznrrvjtBoV+nZfYHX2WZQruq1nQXcPvTJPeZtCBsWaA3TwbVobnOJdb3TFxnHybN3N4gCTOkurek0V7OSMpjd1qgSzNMDIhjXKf/ZB9bcuusXo2QSnzUDJo3S6QE4FBxKohVom7z4AQ8+iRVPkkrWezBo089vzPzfZN/C5+8xQAUfZ6bVNdS6DfI80+55s6Xj7BFEKQW9Kh3Em0GpipHxdxiBf176xktY9EROkDkwDHlsbE7JRRQUmfmJe+0yCo+gg9uAsz5XHNrQgU5BxKhVzggMA/VU+clJ51WfbYGJAvVs/NjHQb/A9CzYKdBamUvy3YY2dxLbdohR7TZMM0JWYmZcmSiaOiZxrCT3ThlQ/J9o9r6TFWvkVjvt+ozABsx0OvtNrdkp7VvFbSQGvmTzGnPM2O5xqzWrM73Z7g8Ahw1g08FDN0JAO8n/Y0tb/xpVAFBmkQTJpQk7f4kQAHWlZKEYN2wEnX+hptjXfDjMYGX9Tc5vdDQJ3oTxnCt+y7Vl9IplT0a5GTTE0l8Pyc4=
134-
file_glob: true
135-
file: '*.{deb,rpm}'
136-
on:
137-
repo: ParallelSSH/ssh2-python
138-
tags: true
139-
140126
- stage: build packages
141127
os: linux
142128
python: 3.6
@@ -145,7 +131,7 @@ jobs:
145131
install:
146132
- pip install twine
147133
script:
148-
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
134+
- if [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; fi
149135
- ./ci/travis/build-manylinux.sh
150136
after_success:
151137
- if [[ ! -z "$TRAVIS_TAG" ]]; then

Changelog.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,27 @@
11
Change Log
22
=============
33

4+
0.18.0
5+
+++++++
6+
7+
Changes
8+
--------
9+
10+
* Session object de-allocation no longer calls session disconnect.
11+
* Channel object de-allocation no longer calls channel close.
12+
* Rebuilt sources with Cython ``0.29.6``.
13+
* Updated Linux and Windows binary wheels to OpenSSL 1.1.
14+
* Updated embedded ``libssh2`` to latest master.
15+
* Added ``Ed25519`` publickey support via ``libssh2`` and OpenSSL upgrades.
16+
17+
Packaging
18+
----------
19+
20+
* Source distribution builds would not include embedded libssh2 module in package - #51
21+
* Removed OSX 10.10 binary wheel builds - deprecated by Travis-CI.
22+
* Updated embedded OpenSSL version for Windows wheel builds.
23+
24+
425
0.17.0.post2
526
+++++++++++++
627

ci/appveyor/build_ssh2.bat

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ mkdir src
22
cd src
33

44
IF "%PYTHON_ARCH%" == "32" (
5-
set OPENSSL_DIR="C:\OpenSSL-Win32"
5+
set OPENSSL_DIR="C:\OpenSSL-v11-Win32"
66
) ELSE (
7-
set OPENSSL_DIR="C:\OpenSSL-Win64"
7+
set OPENSSL_DIR="C:\OpenSSL-v11-Win64"
88
)
99

1010
ls %OPENSSL_DIR%\lib
@@ -42,10 +42,9 @@ REM -DOPENSSL_MSVC_STATIC_RT=TRUE
4242
REM -DOPENSSL_USE_STATIC_LIBS=TRUE
4343
)
4444

45-
cp %OPENSSL_DIR%\lib\VC\libeay32MD.lib %APPVEYOR_BUILD_FOLDER%
46-
cp %OPENSSL_DIR%\lib\VC\ssleay32MD.lib %APPVEYOR_BUILD_FOLDER%
47-
REM cp %OPENSSL_DIR%\libeay32.dll %APPVEYOR_BUILD_FOLDER%\ssh2\
48-
REM cp %OPENSSL_DIR%\ssleay32.dll %APPVEYOR_BUILD_FOLDER%\ssh2\
45+
46+
cp %OPENSSL_DIR%\lib\VC\libcrypto%PYTHON_ARCH%MD.lib %APPVEYOR_BUILD_FOLDER%
47+
cp %OPENSSL_DIR%\lib\VC\libssl%PYTHON_ARCH%MD.lib %APPVEYOR_BUILD_FOLDER%
4948

5049
cmake --build . --config Release
5150
cd ..
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:3ce4b05192d1b62efb529e8c51da0bce26614c8cde47a3e397fd1c19b2403eb1
3+
size 1695059
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:c3592481c530ec3a74cf9e3f436a629ad50eeb820173482782e7bfee0bebc69f
3+
size 1806520

ci/docker/manylinux/Dockerfile

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,35 @@
11
FROM quay.io/pypa/manylinux1_x86_64
22

33
ENV CMAKE cmake-2.8.11.1-5.4.x86_64
4-
ENV OPENSSL openssl-1.0.2p
4+
ENV OPENSSL openssl-1.1.1b
55
ENV SYSTEM_LIBSSH2 1
66

77
RUN yum install zlib-devel -y
88

99
ADD libssh2.tar.gz libssh2.tar.gz
1010
ADD ${CMAKE}.rpm cmake.rpm
11-
ADD http://www.openssl.org/source/${OPENSSL}.tar.gz ${OPENSSL}.tar.gz
11+
ADD ${OPENSSL}.tar.gz ${OPENSSL}.tar.gz
12+
ADD local-perl-5.10.0-62.ep.x86_64.rpm local-perl.rpm
13+
ADD local-perl-Pod-Simple-3.07-62.ep.x86_64.rpm local-perl-Pod-Simple.rpm
14+
ADD local-perl-Module-Pluggable-3.60-62.ep.x86_64.rpm local-perl-Module-Pluggable.rpm
15+
ADD local-perl-XSLoader-0.10-1.noarch.rpm local-perl-XSLoader.rpm
16+
ADD local-perl-version-0.74-62.ep.x86_64.rpm local-perl-version.rpm
17+
ADD local-perl-libs-5.10.0-62.ep.x86_64.rpm local-perl-libs.rpm
18+
ADD local-perl-Pod-Escapes-1.04-62.ep.x86_64.rpm local-perl-Pod-Escapes.rpm
1219

13-
RUN rpm -i cmake.rpm
20+
RUN rpm -i cmake.rpm local-perl-Module-Pluggable.rpm local-perl-Pod-Escapes.rpm local-perl-Pod-Simple.rpm local-perl-XSLoader.rpm local-perl-version.rpm local-perl-libs.rpm local-perl.rpm
1421

1522
# Openssl
16-
RUN tar -xzf ${OPENSSL}.tar.gz && \
17-
cd ${OPENSSL} && \
23+
RUN cd ${OPENSSL}.tar.gz/${OPENSSL} && \
1824
./config --prefix=/usr --openssldir=/usr/openssl threads shared && \
1925
make -j4 && make install
2026

2127
# Libssh2
2228
RUN mkdir -p build_libssh2 && cd build_libssh2 && \
23-
cmake ../libssh2.tar.gz -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON \
29+
cmake ../libssh2.tar.gz/libssh2-master -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON \
2430
-DENABLE_CRYPT_NONE=ON -DENABLE_MAC_NONE=ON -DCMAKE_INSTALL_PREFIX=/usr && \
2531
cmake --build . --config Release --target install
2632

27-
RUN rm -rf ${OPENSSL}* build_libssh2
33+
RUN rm -rf ${OPENSSL}* build_libssh2 libssh2.tar.gz
2834

2935
VOLUME /var/cache
-10.8 MB
Binary file not shown.

0 commit comments

Comments
 (0)