Anthias icon indicating copy to clipboard operation
Anthias copied to clipboard

Fixes the Anthias installer so that it'll work on Debian Bookworm as well

Open nicomiguelino opened this issue 10 months ago • 25 comments

Overview

  • Fixes Screenly/Anthias#1834

How to run the installer script?

cd && \
echo "export CUSTOM_BRANCH='fix-installer'" > .env && \
bash <(curl -sL https://raw.githubusercontent.com/nicomiguelino/Anthias/fix-installer/bin/install.sh)

nicomiguelino avatar Oct 23 '23 18:10 nicomiguelino

Could you fix Ansible Linter errors?

MuratUrsavas avatar Oct 26 '23 06:10 MuratUrsavas

@vpetersson, @MuratUrsavas With the recent changes, I got it working on my Pi 4. I'm still testing it on other Pi models (Pi 3, Pi 2).

nicomiguelino avatar Oct 27 '23 15:10 nicomiguelino

Ping @salmanfarisvp to test it on Pi 5 too.

vpetersson avatar Oct 27 '23 15:10 vpetersson

Got it. Tagging @salmanfarisvp as well.

nicomiguelino avatar Oct 27 '23 17:10 nicomiguelino

Sure @vpetersson @nicomiguelino Noted, and what other model do we need to try? I have Pi Zero W, and Pi 3 as well.

salmanfarisvp avatar Oct 27 '23 17:10 salmanfarisvp

Yes, please try the changes on your Zero and 3 as well. Thanks. 👍

nicomiguelino avatar Oct 27 '23 17:10 nicomiguelino

Sure.

Do I need to change anything on the above-mentioned installer script?

cd && \
echo "export CUSTOM_BRANCH='fix-installer'" > .env && \
bash <(curl -sL https://raw.githubusercontent.com/nicomiguelino/Anthias/fix-installer/bin/install.sh)

salmanfarisvp avatar Oct 27 '23 17:10 salmanfarisvp

Nope. You're all set to use that command. I don't have anything to push for now.

nicomiguelino avatar Oct 27 '23 18:10 nicomiguelino

Okay, Cool. Checking now with 3B, Will share my insights.

salmanfarisvp avatar Oct 27 '23 18:10 salmanfarisvp

Device: Raspberry Pi 3B OS: bookworm

Insight: /home/$USER/screenly/bin/upgrade_containers.sh does not exist

 ssh [email protected]
[email protected]'s password:
Linux raspberrypi 6.1.0-rpi4-rpi-v7 #1 SMP Raspbian 1:6.1.54-1+rpt2 (2023-10-05) armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Oct 27 23:34:11 2023 from 192.168.101.32
pi@raspberrypi:~ $ ls
screenly  version.md
pi@raspberrypi:~ $ cd screenly/
pi@raspberrypi:~/screenly $ ls
pi@raspberrypi:~/screenly $

Installation log

perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously unselected package whois.
(Reading database ... 64077 files and directories currently installed.)
Preparing to unpack .../00-whois_5.5.17_armhf.deb ...
Unpacking whois (5.5.17) ...
Selecting previously unselected package liberror-perl.
Preparing to unpack .../01-liberror-perl_0.17029-2_all.deb ...
Unpacking liberror-perl (0.17029-2) ...
Selecting previously unselected package git-man.
Preparing to unpack .../02-git-man_1%3a2.39.2-1.1_all.deb ...
Unpacking git-man (1:2.39.2-1.1) ...
Selecting previously unselected package git.
Preparing to unpack .../03-git_1%3a2.39.2-1.1_armhf.deb ...
Unpacking git (1:2.39.2-1.1) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../04-libexpat1-dev_2.5.0-1_armhf.deb ...
Unpacking libexpat1-dev:armhf (2.5.0-1) ...
Selecting previously unselected package libffi-dev:armhf.
Preparing to unpack .../05-libffi-dev_3.4.4-1_armhf.deb ...
Unpacking libffi-dev:armhf (3.4.4-1) ...
Selecting previously unselected package libjs-jquery.
Preparing to unpack .../06-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ...
Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Selecting previously unselected package libjs-underscore.
Preparing to unpack .../07-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ...
Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ...
Selecting previously unselected package libjs-sphinxdoc.
Preparing to unpack .../08-libjs-sphinxdoc_5.3.0-4_all.deb ...
Unpacking libjs-sphinxdoc (5.3.0-4) ...
Selecting previously unselected package libpython3.11-dev:armhf.
Preparing to unpack .../09-libpython3.11-dev_3.11.2-6_armhf.deb ...
Unpacking libpython3.11-dev:armhf (3.11.2-6) ...
Selecting previously unselected package libpython3-dev:armhf.
Preparing to unpack .../10-libpython3-dev_3.11.2-1_armhf.deb ...
Unpacking libpython3-dev:armhf (3.11.2-1) ...
Preparing to unpack .../11-libssl3_3.0.11-1~deb12u1+rpt1_armhf.deb ...
Unpacking libssl3:armhf (3.0.11-1~deb12u1+rpt1) over (3.0.10-1~deb12u1+rpt1) ...
Selecting previously unselected package libssl-dev:armhf.
Preparing to unpack .../12-libssl-dev_3.0.11-1~deb12u1+rpt1_armhf.deb ...
Unpacking libssl-dev:armhf (3.0.11-1~deb12u1+rpt1) ...
Preparing to unpack .../13-openssl_3.0.11-1~deb12u1+rpt1_armhf.deb ...
Unpacking openssl (3.0.11-1~deb12u1+rpt1) over (3.0.10-1~deb12u1+rpt1) ...
Selecting previously unselected package python3.11-dev.
Preparing to unpack .../14-python3.11-dev_3.11.2-6_armhf.deb ...
Unpacking python3.11-dev (3.11.2-6) ...
Selecting previously unselected package python3-lib2to3.
Preparing to unpack .../15-python3-lib2to3_3.11.2-3_all.deb ...
Unpacking python3-lib2to3 (3.11.2-3) ...
Selecting previously unselected package python3-distutils.
Preparing to unpack .../16-python3-distutils_3.11.2-3_all.deb ...
Unpacking python3-distutils (3.11.2-3) ...
Selecting previously unselected package python3-dev.
Preparing to unpack .../17-python3-dev_3.11.2-1_armhf.deb ...
Unpacking python3-dev (3.11.2-1) ...
Selecting previously unselected package python3-setuptools.
Preparing to unpack .../18-python3-setuptools_66.1.1-1_all.deb ...
Unpacking python3-setuptools (66.1.1-1) ...
Selecting previously unselected package python3-wheel.
Preparing to unpack .../19-python3-wheel_0.38.4-2_all.deb ...
Unpacking python3-wheel (0.38.4-2) ...
Selecting previously unselected package python3-pip.
Preparing to unpack .../20-python3-pip_23.0.1+dfsg-1+rpt1_all.deb ...
Unpacking python3-pip (23.0.1+dfsg-1+rpt1) ...
Setting up whois (5.5.17) ...
Setting up libssl3:armhf (3.0.11-1~deb12u1+rpt1) ...
Setting up libffi-dev:armhf (3.4.4-1) ...
Setting up liberror-perl (0.17029-2) ...
Setting up libexpat1-dev:armhf (2.5.0-1) ...
Setting up libpython3.11-dev:armhf (3.11.2-6) ...
Setting up libssl-dev:armhf (3.0.11-1~deb12u1+rpt1) ...
Setting up git-man (1:2.39.2-1.1) ...
Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Setting up openssl (3.0.11-1~deb12u1+rpt1) ...
Setting up python3-lib2to3 (3.11.2-3) ...
Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ...
Setting up python3-distutils (3.11.2-3) ...
Setting up libpython3-dev:armhf (3.11.2-1) ...
Setting up python3-setuptools (66.1.1-1) ...
Setting up python3.11-dev (3.11.2-6) ...
Setting up python3-wheel (0.38.4-2) ...
Setting up git (1:2.39.2-1.1) ...
Setting up python3-pip (23.0.1+dfsg-1+rpt1) ...
Setting up libjs-sphinxdoc (5.3.0-4) ...
Setting up python3-dev (3.11.2-1) ...
Processing triggers for libc-bin (2.36-9+rpt2+deb12u3) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for install-info (6.8-6+b1) ...
+ '[' y == y ']'
+ export MANAGE_NETWORK=true
+ MANAGE_NETWORK=true
+ sudo apt-get install -y network-manager
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
network-manager is already the newest version (1.42.4-1+rpt1).
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
+ '[' master = master ']'
++ curl -s https://raw.githubusercontent.com/screenly/anthias/master/requirements/requirements.host.txt
++ grep ansible
+ ANSIBLE_VERSION=ansible-core==2.12
++ cat /etc/os-release
++ grep VERSION=
++ cut -d= -f2
++ cut '-d"' -f2
++ cut '-d ' -f1
+ RASPBIAN_VERSION=12
+ PIP_ARGS=()
+ '[' 12 = 12 ']'
+ PIP_ARGS+=("--break-system-packages")
+ sudo pip install cryptography==38.0.2 --break-system-packages
Collecting cryptography==38.0.2
  Downloading cryptography-38.0.2.tar.gz (599 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 599.8/599.8 kB 1.5 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting cffi>=1.12
  Using cached cffi-1.16.0-cp311-cp311-linux_armv7l.whl
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
WARNING: The candidate selected for download or install is a yanked version: 'cryptography' candidate (version 38.0.2 at https://files.pythonhosted.org/packages/63/82/a6e21842f2e31b3874f01c112093b8bf8af119f5ed999bbd667a81de720b/cryptography-38.0.2.tar.gz (from https://pypi.org/simple/cryptography/) (requires-python:>=3.6))
Reason for being yanked: Regression in OpenSSL.
Building wheels for collected packages: cryptography
  Building wheel for cryptography (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for cryptography (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [376 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-cpython-311
      creating build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/utils.py -> build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/fernet.py -> build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/__about__.py -> build/lib.linux-armv7l-cpython-311/cryptography
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat
      copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat
      copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat
      creating build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends
      copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings
      copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/twofactor
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/openssl
      running egg_info
      writing src/cryptography.egg-info/PKG-INFO
      writing dependency_links to src/cryptography.egg-info/dependency_links.txt
      writing requirements to src/cryptography.egg-info/requires.txt
      writing top-level names to src/cryptography.egg-info/top_level.txt
      reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      no previously-included directories found matching 'docs/_build'
      warning: no previously-included files found matching 'vectors'
      warning: no previously-included files matching '*' found under directory 'vectors'
      warning: no previously-included files matching '*' found under directory '.github'
      warning: no previously-included files found matching 'release.py'
      warning: no previously-included files found matching '.readthedocs.yml'
      warning: no previously-included files found matching 'dev-requirements.txt'
      warning: no previously-included files found matching 'tox.ini'
      warning: no previously-included files found matching 'mypy.ini'
      warning: no previously-included files matching '*' found under directory '.circleci'
      adding license file 'LICENSE'
      adding license file 'LICENSE.APACHE'
      adding license file 'LICENSE.BSD'
      adding license file 'LICENSE.PSF'
      writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
      /tmp/pip-build-env-4u3md0wh/overlay/local/lib/python3.11/dist-packages/setuptools/command/build_py.py:204: _Warning: Package 'cryptography.hazmat.bindings._rust' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'cryptography.hazmat.bindings._rust' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'cryptography.hazmat.bindings._rust' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'cryptography.hazmat.bindings._rust' to be distributed and are
              already explicitly excluding 'cryptography.hazmat.bindings._rust' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      copying src/cryptography/py.typed -> build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/hazmat/bindings/_openssl.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/__init__.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      running build_ext
      generating cffi module 'build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c'
      creating build/temp.linux-armv7l-cpython-311
      building 'cryptography.hazmat.bindings._openssl' extension
      creating build/temp.linux-armv7l-cpython-311/build
      creating build/temp.linux-armv7l-cpython-311/build/temp.linux-armv7l-cpython-311
      arm-linux-gnueabihf-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/python3.11 -c build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c -o build/temp.linux-armv7l-cpython-311/build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.o -Wconversion -Wno-error=sign-conversion
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘Cryptography_pem_password_cb’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:2408:37: warning: conversion to ‘size_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
       2408 |         memcpy(buf, st->password, st->length);
            |                                   ~~^~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_add_extra_chain_cert’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27034:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      27034 |   return SSL_CTX_add_extra_chain_cert(x0, x1);
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_add_extra_chain_cert’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27072:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      27072 |   { result = SSL_CTX_add_extra_chain_cert(x0, x1); }
            |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_clear_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27213:10: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      27213 |   return SSL_CTX_clear_mode(x0, x1);
            |          ^~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27213:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_clear_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27246:14: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      27246 |   { result = SSL_CTX_clear_mode(x0, x1); }
            |              ^~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27246:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_clear_options’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27261:10: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘long unsigned int’ may change value [-Wconversion]
      27261 |   return SSL_CTX_clear_options(x0, x1);
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_clear_options’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27294:14: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘long unsigned int’ may change value [-Wconversion]
      27294 |   { result = SSL_CTX_clear_options(x0, x1); }
            |              ^~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_get_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27621:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      27621 |   return SSL_CTX_get_mode(x0);
            |          ^~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_get_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27644:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      27644 |   { result = SSL_CTX_get_mode(x0); }
            |              ^~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_get_options’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27659:10: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘long unsigned int’ may change value [-Wconversion]
      27659 |   return SSL_CTX_get_options(x0);
            |          ^~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_get_options’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27682:14: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘long unsigned int’ may change value [-Wconversion]
      27682 |   { result = SSL_CTX_get_options(x0); }
            |              ^~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_get_session_cache_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27735:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      27735 |   return SSL_CTX_get_session_cache_mode(x0);
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_get_session_cache_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:27758:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      27758 |   { result = SSL_CTX_get_session_cache_mode(x0); }
            |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_set_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:29452:10: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      29452 |   return SSL_CTX_set_mode(x0, x1);
            |          ^~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:29452:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_set_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:29485:14: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      29485 |   { result = SSL_CTX_set_mode(x0, x1); }
            |              ^~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:29485:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_set_options’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:29500:10: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘long unsigned int’ may change value [-Wconversion]
      29500 |   return SSL_CTX_set_options(x0, x1);
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_set_options’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:29533:14: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘long unsigned int’ may change value [-Wconversion]
      29533 |   { result = SSL_CTX_set_options(x0, x1); }
            |              ^~~~~~~~~~~~~~~~~~~
      In file included from build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:829:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_set_session_cache_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:29826:45: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      29826 |   return SSL_CTX_set_session_cache_mode(x0, x1);
            |                                             ^~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:29826:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      29826 |   return SSL_CTX_set_session_cache_mode(x0, x1);
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_set_session_cache_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:29859:49: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      29859 |   { result = SSL_CTX_set_session_cache_mode(x0, x1); }
            |                                                 ^~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:29859:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      29859 |   { result = SSL_CTX_set_session_cache_mode(x0, x1); }
            |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_set_tmp_dh’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:30232:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      30232 |   return SSL_CTX_set_tmp_dh(x0, x1);
            |          ^~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_set_tmp_dh’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:30270:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      30270 |   { result = SSL_CTX_set_tmp_dh(x0, x1); }
            |              ^~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_CTX_set_tmp_ecdh’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:30285:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      30285 |   return SSL_CTX_set_tmp_ecdh(x0, x1);
            |          ^~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_CTX_set_tmp_ecdh’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:30323:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      30323 |   { result = SSL_CTX_set_tmp_ecdh(x0, x1); }
            |              ^~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_SESSION_get_ticket_lifetime_hint’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:30952:10: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      30952 |   return SSL_SESSION_get_ticket_lifetime_hint(x0);
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_SESSION_get_ticket_lifetime_hint’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:30975:14: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      30975 |   { result = SSL_SESSION_get_ticket_lifetime_hint(x0); }
            |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_clear_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:31323:10: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      31323 |   return SSL_clear_mode(x0, x1);
            |          ^~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:31323:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_clear_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:31356:14: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      31356 |   { result = SSL_clear_mode(x0, x1); }
            |              ^~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:31356:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_get_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:32228:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      32228 |   return SSL_get_mode(x0);
            |          ^~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_get_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:32251:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      32251 |   { result = SSL_get_mode(x0); }
            |              ^~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_get_options’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:32266:10: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘long unsigned int’ may change value [-Wconversion]
      32266 |   return SSL_get_options(x0);
            |          ^~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_get_options’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:32289:14: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘long unsigned int’ may change value [-Wconversion]
      32289 |   { result = SSL_get_options(x0); }
            |              ^~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_set_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:33918:10: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      33918 |   return SSL_set_mode(x0, x1);
            |          ^~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:33918:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_set_mode’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:33951:14: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
      33951 |   { result = SSL_set_mode(x0, x1); }
            |              ^~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:33951:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_d_SSL_set_options’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:34014:10: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘long unsigned int’ may change value [-Wconversion]
      34014 |   return SSL_set_options(x0, x1);
            |          ^~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: In function ‘_cffi_f_SSL_set_options’:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:34047:14: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘long unsigned int’ may change value [-Wconversion]
      34047 |   { result = SSL_set_options(x0, x1); }
            |              ^~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c: At top level:
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:791:13: warning: ‘ERR_load_Cryptography_OSRandom_strings’ declared ‘static’ but never defined [-Wunused-function]
        791 | static void ERR_load_Cryptography_OSRandom_strings(void);
            |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.c:792:13: warning: ‘ERR_Cryptography_OSRandom_error’ declared ‘static’ but never defined [-Wunused-function]
        792 | static void ERR_Cryptography_OSRandom_error(int function, int reason,
            |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      arm-linux-gnueabihf-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-armv7l-cpython-311/build/temp.linux-armv7l-cpython-311/cryptography.hazmat.bindings._openssl.o -L/usr/lib/arm-linux-gnueabihf -lssl -lcrypto -lpthread -o build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_openssl.abi3.so
      running build_rust
      <string>:70: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html

          =============================DEBUG ASSISTANCE=============================
          If you are seeing a compilation error please try the following steps to
          successfully install cryptography:
          1) Upgrade to the latest pip and try again. This will fix errors for most
             users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
          2) Read https://cryptography.io/en/latest/installation/ for specific
             instructions for your platform.
          3) Check our frequently asked questions for more information:
             https://cryptography.io/en/latest/faq/
          4) Ensure you have a recent Rust toolchain installed:
             https://cryptography.io/en/latest/installation/#rust

          Python: 3.11.2
          platform: Linux-6.1.0-rpi4-rpi-v7-armv7l-with-glibc2.36
          pip: n/a
          setuptools: 68.2.2
          setuptools_rust: 1.8.0
          rustc: n/a
          =============================DEBUG ASSISTANCE=============================

      error: can't find Rust compiler

      If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

      To update pip, run:

          pip install --upgrade pip

      and then retry package installation.

      If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.

      This package requires Rust >=1.48.0.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects
+ sudo pip install ansible-core==2.12 --break-system-packages
Collecting ansible-core==2.12
  Downloading ansible-core-2.12.0.tar.gz (7.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.4/7.4 MB 2.3 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting PyYAML
  Downloading PyYAML-6.0.1.tar.gz (125 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.2/125.2 kB 2.4 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting cryptography
  Downloading cryptography-41.0.5.tar.gz (630 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 630.5/630.5 kB 2.5 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting jinja2
  Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 2.5 MB/s eta 0:00:00
Collecting packaging
  Downloading packaging-23.2-py3-none-any.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.0/53.0 kB 1.5 MB/s eta 0:00:00
Collecting resolvelib<0.6.0,>=0.5.3
  Downloading resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)
Collecting cffi>=1.12
  Using cached cffi-1.16.0-cp311-cp311-linux_armv7l.whl
Collecting MarkupSafe>=2.0
  Downloading MarkupSafe-2.1.3.tar.gz (19 kB)
  Preparing metadata (setup.py) ... done
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Building wheels for collected packages: ansible-core, cryptography, PyYAML, MarkupSafe
  Building wheel for ansible-core (setup.py) ... done
  Created wheel for ansible-core: filename=ansible_core-2.12.0-py3-none-any.whl size=2073012 sha256=368b7aaa25ceed1bc025c8d5816edb9bfad6b692cbec04dfc457f502ecc4316e
  Stored in directory: /root/.cache/pip/wheels/8e/5a/31/b77704f1069f62b4209b20241a241d930668493e9315f5db0e
  Building wheel for cryptography (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for cryptography (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [170 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-cpython-311
      creating build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/utils.py -> build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/fernet.py -> build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-cpython-311/cryptography
      copying src/cryptography/__about__.py -> build/lib.linux-armv7l-cpython-311/cryptography
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat
      copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat
      copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat
      creating build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-cpython-311/cryptography/x509
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends
      copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings
      copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/backends/openssl
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/kdf
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/serialization
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/asymmetric
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/twofactor
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/primitives/ciphers
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/openssl
      running egg_info
      writing src/cryptography.egg-info/PKG-INFO
      writing dependency_links to src/cryptography.egg-info/dependency_links.txt
      writing requirements to src/cryptography.egg-info/requires.txt
      writing top-level names to src/cryptography.egg-info/top_level.txt
      reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching '*.c' under directory 'src/_cffi_src'
      warning: no files found matching '*.h' under directory 'src/_cffi_src'
      no previously-included directories found matching 'docs/_build'
      warning: no previously-included files found matching 'vectors'
      warning: no previously-included files matching '*' found under directory 'vectors'
      warning: no previously-included files found matching 'src/rust/target'
      warning: no previously-included files matching '*' found under directory 'src/rust/target'
      warning: no previously-included files matching '*' found under directory '.github'
      warning: no previously-included files found matching 'release.py'
      warning: no previously-included files found matching '.readthedocs.yml'
      warning: no previously-included files found matching 'ci-constraints-requirements.txt'
      warning: no previously-included files found matching 'mypy.ini'
      adding license file 'LICENSE'
      adding license file 'LICENSE.APACHE'
      adding license file 'LICENSE.BSD'
      writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
      copying src/cryptography/py.typed -> build/lib.linux-armv7l-cpython-311/cryptography
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/__init__.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/_openssl.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/exceptions.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/pkcs7.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust
      creating build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/dh.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/dsa.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/ed25519.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      copying src/cryptography/hazmat/bindings/_rust/openssl/x448.pyi -> build/lib.linux-armv7l-cpython-311/cryptography/hazmat/bindings/_rust/openssl
      running build_ext
      running build_rust

          =============================DEBUG ASSISTANCE=============================
          If you are seeing a compilation error please try the following steps to
          successfully install cryptography:
          1) Upgrade to the latest pip and try again. This will fix errors for most
             users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
          2) Read https://cryptography.io/en/latest/installation/ for specific
             instructions for your platform.
          3) Check our frequently asked questions for more information:
             https://cryptography.io/en/latest/faq/
          4) Ensure you have a recent Rust toolchain installed:
             https://cryptography.io/en/latest/installation/#rust

          Python: 3.11.2
          platform: Linux-6.1.0-rpi4-rpi-v7-armv7l-with-glibc2.36
          pip: n/a
          setuptools: 68.2.2
          setuptools_rust: 1.8.0
          rustc: n/a
          =============================DEBUG ASSISTANCE=============================

      error: can't find Rust compiler

      If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

      To update pip, run:

          pip install --upgrade pip

      and then retry package installation.

      If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.

      This package requires Rust >=1.56.0.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cryptography
  Building wheel for PyYAML (pyproject.toml) ... done
  Created wheel for PyYAML: filename=PyYAML-6.0.1-cp311-cp311-linux_armv7l.whl size=45361 sha256=1683a4adcb8440a8be72528963746c07dfa98f731b0e9c24448892b6d975fe57
  Stored in directory: /root/.cache/pip/wheels/20/40/04/9edd5f1052f28aff139c0b315b3d5ad7ba893c93ccde03f1b4
  Building wheel for MarkupSafe (setup.py) ... done
  Created wheel for MarkupSafe: filename=MarkupSafe-2.1.3-cp311-cp311-linux_armv7l.whl size=26071 sha256=f692e629750ca6ac1ec6e0e68ece0c95aa7f07dcf5d07832a4f886bf04211d3b
  Stored in directory: /root/.cache/pip/wheels/ff/e4/e3/cdbcd32a8d43739cd9dbbb864dec76f1416dcf4a8cb127fb39
Successfully built ansible-core PyYAML MarkupSafe
Failed to build cryptography
ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects
+ export REPOSITORY=https://github.com/nicomiguelino/Anthias.git
+ REPOSITORY=https://github.com/nicomiguelino/Anthias.git
+ export BRANCH=fix-installer
+ BRANCH=fix-installer
+ sudo -u pi ansible localhost -m git -a 'repo=https://github.com/nicomiguelino/Anthias.git dest=/home/pi/screenly version=fix-installer force=no'
sudo: ansible: command not found
+ cd /home/pi/screenly/ansible
/dev/fd/63: line 201: cd: /home/pi/screenly/ansible: No such file or directory
+ sudo -E -u pi ansible-playbook site.yml
sudo: ansible-playbook: command not found
+ sudo -u pi /home/pi/screenly/bin/upgrade_containers.sh
sudo: /home/pi/screenly/bin/upgrade_containers.sh: command not found
+ sudo apt-get autoclean
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
+ sudo apt-get clean
+ sudo docker system prune -f
sudo: docker: command not found
+ sudo apt autoremove -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
+ sudo apt-get install plymouth --reinstall -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libplymouth5
Suggested packages:
  desktop-base plymouth-themes
The following NEW packages will be installed:
  libplymouth5 plymouth
0 upgraded, 2 newly installed, 0 to remove and 16 not upgraded.
Need to get 205 kB of archives.
After this operation, 915 kB of additional disk space will be used.
Get:1 http://archive.raspberrypi.com/debian bookworm/main armhf libplymouth5 armhf 22.02.122-3+rpt1 [84.5 kB]
Get:2 http://archive.raspberrypi.com/debian bookworm/main armhf plymouth armhf 22.02.122-3+rpt1 [120 kB]
Fetched 205 kB in 2s (93.5 kB/s)
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_CTYPE = "UTF-8",
	LC_TERMINAL = "iTerm2",
	LANG = "en_GB.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously unselected package libplymouth5:armhf.
(Reading database ... 66776 files and directories currently installed.)
Preparing to unpack .../libplymouth5_22.02.122-3+rpt1_armhf.deb ...
Unpacking libplymouth5:armhf (22.02.122-3+rpt1) ...
Selecting previously unselected package plymouth.
Preparing to unpack .../plymouth_22.02.122-3+rpt1_armhf.deb ...
Unpacking plymouth (22.02.122-3+rpt1) ...
Setting up libplymouth5:armhf (22.02.122-3+rpt1) ...
Setting up plymouth (22.02.122-3+rpt1) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for libc-bin (2.36-9+rpt2+deb12u3) ...
Processing triggers for initramfs-tools (0.142) ...
update-initramfs: Generating /boot/initrd.img-6.1.0-rpi4-rpi-v8
update-initramfs: Generating /boot/initrd.img-6.1.0-rpi4-rpi-v7l
update-initramfs: Generating /boot/initrd.img-6.1.0-rpi4-rpi-v7
update-initramfs: Generating /boot/initrd.img-6.1.0-rpi4-rpi-v6
+ sudo find /usr/share/doc -depth -type f '!' -name copyright -delete
+ sudo find /usr/share/doc -empty -delete
+ sudo rm -rf /usr/share/man /usr/share/groff /usr/share/info/bc.info.gz /usr/share/info/coreutils.info.gz /usr/share/info/dc.info.gz /usr/share/info/diffutils.info.gz /usr/share/info/dir /usr/share/info/dir.old /usr/share/info/ed.info.gz /usr/share/info/find.info-1.gz /usr/share/info/find.info-2.gz /usr/share/info/find.info.gz /usr/share/info/find-maint.info.gz /usr/share/info/gnupg-card-architecture.png /usr/share/info/gnupg.info-1.gz /usr/share/info/gnupg.info-2.gz /usr/share/info/gnupg.info.gz /usr/share/info/gnupg-module-overview.png /usr/share/info/grep.info.gz /usr/share/info/gzip.info.gz /usr/share/info/libffi.info.gz /usr/share/info/nano.info.gz /usr/share/info/rluserman.info.gz /usr/share/info/sed.info.gz /usr/share/info/wget.info.gz /usr/share/lintian /usr/share/linda /var/cache/man
+ sudo find /usr/share/locale -type f '!' -name en '!' -name 'de*' '!' -name 'es*' '!' -name 'ja*' '!' -name 'fr*' '!' -name 'zh*' -delete
+ sudo find /usr/share/locale -mindepth 1 -maxdepth 1 '!' -name 'en*' '!' -name 'de*' '!' -name 'es*' '!' -name 'ja*' '!' -name 'fr*' '!' -name 'zh*' '!' -name locale.alias -exec rm -r '{}' ';'
+ sudo chown -R pi:pi /home/pi
+ '[' '!' -f /etc/sudoers.d/010_pi-nopasswd ']'
++ git rev-parse --abbrev-ref HEAD
fatal: not a git repository (or any of the parent directories): .git
++ git rev-parse --short HEAD
fatal: not a git repository (or any of the parent directories): .git
++ lsb_release -a
+ echo -e 'Anthias version: @\nDistributor ID:	Raspbian
Description:	Raspbian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm'
+ '[' false = false ']'
+ set +x
Installation completed.
You need to reboot the system for the installation to complete. Would you like to reboot now? (y/N)

salmanfarisvp avatar Oct 27 '23 18:10 salmanfarisvp

Thanks, @salmanfarisvp. My bad, I haven't provided the specifics whether it's 32-bit or 64-bit. Are you using the 32-bit Bookworm? (I only tried running the script on a 64-bit Bookworm.)

There's been an issue with making Anthias work on at least Debian 11 (Bullseye). Couldn't find any relevant GitHub issue(s) at the moment (but I have a feeling that there's already an issue for that one).

nicomiguelino avatar Oct 27 '23 19:10 nicomiguelino

Are you using the 32-bit Bookworm?

Yes, and will try with the 64-bit now and update.

There's been an issue with making Anthias work on at least Debian 11 (Bullseye). Couldn't find any relevant GitHub issue(s) at the moment (but I have a feeling that there's already an issue for that one).

I tried to use the latest bullseye but after the stable script and reboot the device is not showing anything on the display. Shall I create a new issue for it?

salmanfarisvp avatar Oct 28 '23 05:10 salmanfarisvp

✅ Works fine on RPI 3B with 64-bit Bookworm OS

  • [ ] Testing on Pi Zero W.
  • Pi Zero W randomly reset while doing the installation, Checked the power supply and SD card. Will try again and update Oct 30 2023.

@nicomiguelino Does Anthias only work on 64-bit OS? and is it mandatory to use the lite version of the OS?

I'm thinking of adding more documentation on "How to install".

salmanfarisvp avatar Oct 28 '23 10:10 salmanfarisvp

@salmanfarisvp, based on recent tests, yes, it only works on 64-bit. Not that it's mandatory, as Anthias can be installed in two ways:

  1. Installing it on a Raspberry Pi OS Lite (64-bit)
  2. Installing and deploying Anthias on your own Balena Cloud fleet.

nicomiguelino avatar Oct 30 '23 15:10 nicomiguelino

@vpetersson, @MuratUrsavas, @salmanfarisvp Please review. Thanks.

nicomiguelino avatar Nov 01 '23 20:11 nicomiguelino

Looks good as the PR will solve the installation blockage issue in the new Raspberry Pi OS Bookworm flavor, I tested on Pi 3B 64-bit, and works fine.

I am sharing the test report once again.

Pi 3 B testing notes ✅ Installation works OK without any noticeable error on Pi3B -> Straightforward ✅ WiFi and ETH work OK ✅ Pi Imager WiFi Setup Works OK ✅ Can add assets and operate normally

Bugs found 🐞 Unable reboot via the GUI -> works fine on CLI but needs to use Sudo otherwise Call to Reboot failed: Interactive authentication required error is displayed. 🐞 In GUI -> Unable to retrieve MAC address in settings page. 🐞 Instead of the Splash screen on the start, after a reboot (over CLI) it's showing the local webpage link that is used to manage the assets even though there are scheduled assets -> After 2-5 min, the assets are loading

salmanfarisvp avatar Nov 02 '23 13:11 salmanfarisvp

Update - Tested on Pi5 - 8GB - Bookworm Lite 64-bit -> Screen blank after the reboot, Just a cursor blinking -> Tried with and without the system upgrade option from the script.

salmanfarisvp avatar Dec 04 '23 07:12 salmanfarisvp

@salmanfarisvp, I'll just post what you've discussed earlier outside GitHub.

Raspberry Pi 3 Model B - Test Results

  • OS: Bullseye (64-bit)
  • The installer's stuck during DHCP. A restart (with power cycle) is needed. (Not much can be done here).
    • @salmanfarisvp, have you said yes to manage network when you're prompted?
  • When no was given for network management and system update, Anthias is working fine.

nicomiguelino avatar Dec 04 '23 18:12 nicomiguelino

@nicomiguelino Yes, I was using WiFi and it's been set by the Raspberry Pi imager. When I said NO to the system upgrade and Network manager, it completed the installation and booted fine.

salmanfarisvp avatar Dec 04 '23 19:12 salmanfarisvp

@salmanfarisvp, is Wi-Fi the only Internet connectivity your device has? (Is it connected via the Ethernet as well.)

  • I've experienced the same before, that's why I resorted to using Ethernet, as the installer always gets stuck at some point (when connected to Wi-Fi, with network management enabled).

nicomiguelino avatar Dec 04 '23 19:12 nicomiguelino

Yeah for now I only used WiFi. I will try with ethernet. Is the WiFi setup a known bug then?

salmanfarisvp avatar Dec 04 '23 19:12 salmanfarisvp

Yeah for now I only used WiFi. I will try with ethernet. Is the WiFi setup a known bug then?

Yes, it's a bug.

nicomiguelino avatar Dec 05 '23 07:12 nicomiguelino

@nicomiguelino Added a new issue https://github.com/Screenly/Anthias/issues/1845

salmanfarisvp avatar Dec 11 '23 08:12 salmanfarisvp

I'm pretty sure we can't just drop the dtoverlay=vc4-fkms-v3d. Perhaps that works in Bookworm but what about the release before?

Yes, you're right @vpetersson. I forgot to bring it back, thanks. Just pushed a commit bringing that part back for Pi 4 devices running Debian 11 (Bullseye) and older.

nicomiguelino avatar Dec 22 '23 20:12 nicomiguelino

Quality Gate Passed Quality Gate passed

Kudos, no new issues were introduced!

0 New issues
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

sonarcloud[bot] avatar Dec 27 '23 01:12 sonarcloud[bot]

Update - Tested on Pi5 - 8GB - Bookworm Lite 64-bit

-> Screen blank after the reboot, Just a cursor blinking

-> Tried with and without the system upgrade option from the script.

If it helps I can confirm this tried it yesterday with the same results blank screen blinking cursor.

bozzer91 avatar Mar 26 '24 19:03 bozzer91

@bozzer91, @salmanfarisvp, @vpetersson Pi 5 compatibility will be resolved on a separate PR.

nicomiguelino avatar Apr 02 '24 06:04 nicomiguelino