uilianries / conan-ldap-authentication

A LDAP authentication plugin for Conan.io
MIT License
6 stars 1 forks source link

Plugin is unbuildable #24

Open felixtech-msp opened 2 years ago

felixtech-msp commented 2 years ago

Trying to make this plugin work in Docker (version 20.10.17) on Ubuntu 20.04. It looks like there is different stuff deprecated/removed.

Dockerfile (as in https://github.com/uilianries/conan-ldap-authentication/issues/20#issuecomment-1085833895):

FROM conanio/conan_server
RUN apk add gcc openldap-dev musl-dev
RUN pip install conan_ldap_authentication

Build log:

Building app
Sending build context to Docker daemon  4.096kB
Step 1/3 : FROM conanio/conan_server
[...]
Step 2/3 : RUN apk add gcc openldap-dev musl-dev
[...]
Step 3/3 : RUN pip install conan_ldap_authentication
 ---> Running in 2d09303ece6f
Collecting conan_ldap_authentication
  Downloading conan_ldap_authentication-0.4.1.tar.gz (6.6 kB)
Collecting python-ldap>=3.2.0
  Downloading python-ldap-3.4.2.tar.gz (378 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Collecting configparser>=4.0.2
  Downloading configparser-5.2.0-py3-none-any.whl (19 kB)
Requirement already satisfied: conan>=1.19.0 in /usr/lib/python3.9/site-packages (from conan_ldap_authentication) (1.50.0)
Requirement already satisfied: requests<3.0.0,>=2.25 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (2.26.0)
Requirement already satisfied: urllib3<1.27,>=1.26.6 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (1.26.7)
Requirement already satisfied: colorama<0.5.0,>=0.3.3 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (0.4.4)
Requirement already satisfied: PyYAML<=6.0,>=3.11 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (6.0)
Requirement already satisfied: patch-ng<1.18,>=1.17.4 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (1.17.4)
Requirement already satisfied: fasteners>=0.14.1 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (0.17.3)
Requirement already satisfied: six<=1.16.0,>=1.10.0 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (1.16.0)
Requirement already satisfied: node-semver==0.6.1 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (0.6.1)
Requirement already satisfied: pygments<3.0,>=2.0 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (2.12.0)
Requirement already satisfied: tqdm<5,>=4.28.1 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (4.64.0)
Requirement already satisfied: python-dateutil<3,>=2.7.0 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (2.8.2)
Requirement already satisfied: bottle<0.13,>=0.12.8 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (0.12.21)
Requirement already satisfied: pluginbase>=0.5 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (1.0.1)
Requirement already satisfied: PyJWT<3.0.0,>=2.4.0 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (2.4.0)
Requirement already satisfied: Jinja2<4.0.0,>=3.0 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (3.1.2)
Requirement already satisfied: distro<=1.6.0,>=1.0.2 in /usr/lib/python3.9/site-packages (from conan>=1.19.0->conan_ldap_authentication) (1.6.0)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/lib/python3.9/site-packages (from Jinja2<4.0.0,>=3.0->conan>=1.19.0->conan_ldap_authentication) (2.1.1)
Collecting pyasn1-modules>=0.1.5
  Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
Collecting pyasn1>=0.3.7
  Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3.9/site-packages (from requests<3.0.0,>=2.25->conan>=1.19.0->conan_ldap_authentication) (2020.12.5)
Requirement already satisfied: charset_normalizer~=2.0.0 in /usr/lib/python3.9/site-packages (from requests<3.0.0,>=2.25->conan>=1.19.0->conan_ldap_authentication) (2.0.7)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3.9/site-packages (from requests<3.0.0,>=2.25->conan>=1.19.0->conan_ldap_authentication) (3.3)
Using legacy 'setup.py install' for conan-ldap-authentication, since package 'wheel' is not installed.
Building wheels for collected packages: python-ldap
  Building wheel for python-ldap (PEP 517): started
  Building wheel for python-ldap (PEP 517): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /usr/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmptk1fn9pc
       cwd: /tmp/pip-install-g2irzebc/python-ldap_5b4a8c63052a44d5959884ef178e6355
  Complete output (112 lines):
  /tmp/pip-build-env-_c0r34t6/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py:463: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
    warnings.warn(msg, warning_class)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-cpython-39
  copying Lib/ldapurl.py -> build/lib.linux-x86_64-cpython-39
  copying Lib/ldif.py -> build/lib.linux-x86_64-cpython-39
  creating build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/cidict.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/ldapobject.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/async.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/dn.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/logger.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/__init__.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/asyncsearch.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/pkginfo.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/syncrepl.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/resiter.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/functions.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/sasl.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/constants.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/filter.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/compat.py -> build/lib.linux-x86_64-cpython-39/ldap
  copying Lib/ldap/modlist.py -> build/lib.linux-x86_64-cpython-39/ldap
  creating build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/simple.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/sessiontrack.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/vlv.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/sss.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/libldap.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/__init__.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/ppolicy.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/psearch.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/deref.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/pagedresults.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/pwdpolicy.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/readentry.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  copying Lib/ldap/controls/openldap.py -> build/lib.linux-x86_64-cpython-39/ldap/controls
  creating build/lib.linux-x86_64-cpython-39/ldap/extop
  copying Lib/ldap/extop/passwd.py -> build/lib.linux-x86_64-cpython-39/ldap/extop
  copying Lib/ldap/extop/__init__.py -> build/lib.linux-x86_64-cpython-39/ldap/extop
  copying Lib/ldap/extop/dds.py -> build/lib.linux-x86_64-cpython-39/ldap/extop
  copying Lib/ldap/extop/disconnection.py -> build/lib.linux-x86_64-cpython-39/ldap/extop
  creating build/lib.linux-x86_64-cpython-39/ldap/schema
  copying Lib/ldap/schema/subentry.py -> build/lib.linux-x86_64-cpython-39/ldap/schema
  copying Lib/ldap/schema/__init__.py -> build/lib.linux-x86_64-cpython-39/ldap/schema
  copying Lib/ldap/schema/models.py -> build/lib.linux-x86_64-cpython-39/ldap/schema
  copying Lib/ldap/schema/tokenizer.py -> build/lib.linux-x86_64-cpython-39/ldap/schema
  creating build/lib.linux-x86_64-cpython-39/slapdtest
  copying Lib/slapdtest/_slapdtest.py -> build/lib.linux-x86_64-cpython-39/slapdtest
  copying Lib/slapdtest/__init__.py -> build/lib.linux-x86_64-cpython-39/slapdtest
  running egg_info
  writing Lib/python_ldap.egg-info/PKG-INFO
  writing dependency_links to Lib/python_ldap.egg-info/dependency_links.txt
  writing requirements to Lib/python_ldap.egg-info/requires.txt
  writing top-level names to Lib/python_ldap.egg-info/top_level.txt
  reading manifest file 'Lib/python_ldap.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  no previously-included directories found matching 'Doc/.build'
  adding license file 'LICENCE'
  writing manifest file 'Lib/python_ldap.egg-info/SOURCES.txt'
  /tmp/pip-build-env-_c0r34t6/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:153: SetuptoolsDeprecationWarning:     Installing 'slapdtest.certs' as data is deprecated, please list it in `packages`.
      !!

      ############################
      # Package would be ignored #
      ############################
      Python recognizes 'slapdtest.certs' as an importable package,
      but it is not listed in the `packages` configuration of setuptools.

      'slapdtest.certs' has been automatically added to the distribution only
      because it may contain data files, but this behavior is likely to change
      in future versions of setuptools (and therefore is considered deprecated).

      Please make sure that 'slapdtest.certs' is included as a package by using
      the `packages` configuration field or the proper discovery methods
      (for example by using `find_namespace_packages(...)`/`find_namespace:`
      instead of `find_packages(...)`/`find:`).

      You can read more about "package discovery" and "data files" on setuptools
      documentation page.

  !!

    check.warn(importable)
  creating build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/README -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/ca.conf -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/ca.pem -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/client.conf -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/client.key -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/client.pem -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/gencerts.sh -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/gennssdb.sh -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/server.conf -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/server.key -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  copying Lib/slapdtest/certs/server.pem -> build/lib.linux-x86_64-cpython-39/slapdtest/certs
  running build_ext
  building '_ldap' extension
  creating build/temp.linux-x86_64-cpython-39
  creating build/temp.linux-x86_64-cpython-39/Modules
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fomit-frame-pointer -g -fno-semantic-interposition -fomit-frame-pointer -g -fno-semantic-interposition -fomit-frame-pointer -g -fno-semantic-interposition -DTHREAD_STACK_SIZE=0x100000 -fPIC -DHAVE_SASL -DHAVE_TLS -DLDAPMODULE_VERSION=3.4.2 "-DLDAPMODULE_AUTHOR=python-ldap project" "-DLDAPMODULE_LICENSE=Python style" -IModules -I/usr/include/python3.9 -c Modules/LDAPObject.c -o build/temp.linux-x86_64-cpython-39/Modules/LDAPObject.o
  In file included from Modules/LDAPObject.c:3:
  Modules/common.h:9:10: fatal error: Python.h: No such file or directory
      9 | #include "Python.h"
        |          ^~~~~~~~~~
  compilation terminated.
  error: command '/usr/bin/gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for python-ldap
Failed to build python-ldap
ERROR: Could not build wheels for python-ldap which use PEP 517 and cannot be installed directly
The command '/bin/sh -c pip install conan_ldap_authentication' returned a non-zero code: 1
ERROR: Service 'app' failed to build : Build failed
root@ittools:/opt/conan# cat Dockerfile
FROM conanio/conan_server
RUN apk add gcc openldap-dev musl-dev
RUN pip install conan_ldap_authentication