diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 04e2e281..730ac21f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,8 +57,6 @@ jobs: version: cp38-macosx_arm64 - os: macOS-12 version: cp37-macosx_x86_64 - - os: macOS-12 - version: cp36-macosx_x86_64 - os: windows-2022 version: cp310-win_amd64 @@ -76,10 +74,6 @@ jobs: version: cp37-win_amd64 - os: windows-2022 version: cp37-win32 - - os: windows-2022 - version: cp36-win_amd64 - - os: windows-2022 - version: cp36-win32 steps: - name: Set up environment @@ -136,7 +130,7 @@ jobs: name: - debian-stable - debian-heimdal - - centos-stream-8 + - centos-stream-9 - fedora-latest include: - name: debian-stable @@ -144,8 +138,8 @@ jobs: - name: debian-heimdal distro: debian:stable krb5_ver: heimdal - - name: centos-stream-8 - distro: quay.io/centos/centos:stream8 + - name: centos-stream-9 + distro: quay.io/centos/centos:stream9 - name: fedora-latest distro: fedora:latest flake: 'yes' @@ -181,7 +175,6 @@ jobs: - win-py-3.9 - win-py-3.8 - win-py-3.7 - - win-py-3.6 arch: - x64 - x86 @@ -194,8 +187,6 @@ jobs: pyenv: '3.8' - name: win-py-3.7 pyenv: '3.7' - - name: win-py-3.6 - pyenv: '3.6' steps: - name: Check out code diff --git a/README.txt b/README.txt index 69a34f90..5077840e 100644 --- a/README.txt +++ b/README.txt @@ -36,14 +36,15 @@ Basic * a C compiler (such as GCC) -* Python 3.6+ (older releases support older versions, but are unsupported) +* Python 3.7+ (older releases support older versions, but are unsupported) * the `decorator` python package Compiling from Scratch ---------------------- -To compile from scratch, you will need Cython >= 0.21.1. +To compile from scratch, you will need Cython >= 0.29.29 which is automatically +installed by pip in an isolated build virtual environment. For Running the Tests --------------------- diff --git a/ci/lib.sh b/ci/lib.sh index 07408c8a..338434d7 100755 --- a/ci/lib.sh +++ b/ci/lib.sh @@ -16,34 +16,64 @@ lib::setup::debian_install() { export GSSAPI_KRB5_MAIN_LIB="/usr/lib/x86_64-linux-gnu/libkrb5.so" fi - apt-get -y install gcc virtualenv python3-{venv,dev} + apt-get -y install gcc python3-{venv,dev} - virtualenv -p $(which python3) .venv + python3 -m venv .venv source ./.venv/bin/activate } -lib::setup::rh_yuminst() { - # yum has no update-only verb. Also: modularity just makes this slower. - yum -y --nogpgcheck --disablerepo=\*modul\* install $@ +lib::setup::rh_dnfinst() { + # dnf has no update-only verb. Also: modularity just makes this slower. + dnf -y --nogpgcheck --disablerepo=\*modul\* install $@ } lib::setup::centos_install() { - lib::setup::rh_yuminst python3-{virtualenv,devel} - virtualenv -p $(which python3) .venv + lib::setup::rh_dnfinst python3-devel + python3 -m venv .venv source ./.venv/bin/activate } lib::setup::fedora_install() { # path to binary here in case Rawhide changes it - lib::setup::rh_yuminst redhat-rpm-config \ - /usr/bin/virtualenv python3-{virtualenv,devel} - virtualenv -p $(which python3) .venv + lib::setup::rh_dnfinst redhat-rpm-config \ + python3-devel + python3 -m venv .venv source ./.venv/bin/activate } +lib::setup::gssntlmssp_install() { + lib::setup::rh_dnfinst dnf-plugins-core + dnf config-manager --set-enabled crb + + lib::setup::rh_dnfinst autoconf automake gettext libtool \ + libunistring-devel openssl-devel zlib-devel + + curl -L -s https://github.com/gssapi/gss-ntlmssp/releases/download/v1.1.0/gssntlmssp-1.1.0.tar.gz --output /tmp/gssntlmssp.tar.gz + tar xf /tmp/gssntlmssp.tar.gz -C /tmp + + pushd /tmp/gssntlmssp-1.1.0 + + autoreconf -f -i + ./configure --with-wbclient=no --with-manpages=no + make + make install + + popd + + echo "gssntlmssp_v1 1.3.6.1.4.1.311.2.2.10 /usr/local/lib/gssntlmssp/gssntlmssp.so" > /etc/gss/mech.d/gssntlmssp.conf +} + lib::setup::rh_install() { - lib::setup::rh_yuminst krb5-{devel,libs,server,workstation} \ - which gcc findutils gssntlmssp + lib::setup::rh_dnfinst krb5-{devel,libs,server,workstation} \ + which gcc findutils + + if grep -q 'release 9' /etc/redhat-release; then + # CentOS 9 Stream doesn't have a dnf package for gssntlmssp + lib::setup::gssntlmssp_install + else + lib::setup::rh_dnfinst gssntlmssp + fi + export GSSAPI_KRB5_MAIN_LIB="/usr/lib64/libkrb5.so" if [ -f /etc/fedora-release ]; then @@ -54,8 +84,7 @@ lib::setup::rh_install() { } lib::setup::macos_install() { - sudo pip3 install virtualenv - python3 -m virtualenv -p $(which python3) .venv + python3 -m venv .venv source .venv/bin/activate export GSSAPI_KRB5_MAIN_LIB="/System/Library/PrivateFrameworks/Heimdal.framework/Heimdal" diff --git a/setup.py b/setup.py index 75e71fc9..1c70f4a6 100755 --- a/setup.py +++ b/setup.py @@ -274,7 +274,7 @@ def gssapi_modules(lst): setup( name='gssapi', - version='1.8.0', + version='1.8.1', author='The Python GSSAPI Team', author_email='jborean93@gmail.com', packages=['gssapi', 'gssapi.raw', 'gssapi.raw._enum_extensions', @@ -287,12 +287,11 @@ def gssapi_modules(lst): long_description=long_desc, license='LICENSE.txt', url="https://github.com/pythongssapi/python-gssapi", - python_requires=">=3.6", + python_requires=">=3.7", classifiers=[ 'Development Status :: 5 - Production/Stable', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9',