From 7d2c92894584147518b2ec9b83ddf6291f95ab81 Mon Sep 17 00:00:00 2001 From: Tim Biermann Date: Tue, 28 Nov 2023 11:49:27 +0100 Subject: [PATCH] python3-pip: implemented PEP 668 --- python3-pip/.footprint | 14 ++++++++++++++ python3-pip/.signature | 7 ++++--- python3-pip/EXTERNALLY-MANAGED.in | 25 +++++++++++++++++++++++++ python3-pip/Pkgfile | 11 ++++++++--- 4 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 python3-pip/EXTERNALLY-MANAGED.in diff --git a/python3-pip/.footprint b/python3-pip/.footprint index 9e8c7eee5..8dd0b7f2c 100644 --- a/python3-pip/.footprint +++ b/python3-pip/.footprint @@ -4,6 +4,7 @@ drwxr-xr-x root/root usr/bin/ -rwxr-xr-x root/root usr/bin/pip3.10 drwxr-xr-x root/root usr/lib/ drwxr-xr-x root/root usr/lib/python3.10/ +-rw-r--r-- root/root usr/lib/python3.10/EXTERNALLY-MANAGED drwxr-xr-x root/root usr/lib/python3.10/site-packages/ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip-23.3.1-py3.10.egg-info/ -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip-23.3.1-py3.10.egg-info/PKG-INFO @@ -549,6 +550,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/cachecontrol/c -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/cachecontrol/controller.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/cachecontrol/filewrapper.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/cachecontrol/heuristics.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/cachecontrol/py.typed (EMPTY) -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/cachecontrol/serialize.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/cachecontrol/wrapper.py drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/certifi/ @@ -563,6 +565,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/certifi/__pyca -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-310.pyc -rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/certifi/cacert.pem -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/certifi/core.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/certifi/py.typed (EMPTY) drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/ -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/__init__.py drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/ @@ -705,6 +708,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/metada -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-310.opt-1.pyc -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-310.pyc -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/metadata/languages.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/py.typed (EMPTY) -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/resultdict.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/sbcharsetprober.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/chardet/sbcsgroupprober.py @@ -814,6 +818,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/distro/__pycac -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-310.opt-1.pyc -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-310.pyc -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/distro/distro.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/distro/py.typed (EMPTY) drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/idna/ -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/idna/__init__.py drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/idna/__pycache__/ @@ -839,6 +844,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/idna/__pycache -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/idna/idnadata.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/idna/intranges.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/idna/package_data.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/idna/py.typed (EMPTY) -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/idna/uts46data.py drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/msgpack/ -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/msgpack/__init__.py @@ -884,6 +890,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/packaging/__py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/packaging/_musllinux.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/packaging/_structures.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/packaging/markers.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/packaging/py.typed (EMPTY) -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/packaging/requirements.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/packaging/specifiers.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/packaging/tags.py @@ -917,6 +924,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/platformdirs/_ -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/platformdirs/android.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/platformdirs/api.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/platformdirs/macos.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/platformdirs/py.typed (EMPTY) -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/platformdirs/unix.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/platformdirs/version.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/platformdirs/windows.py @@ -1068,6 +1076,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/pyparsing/diag -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-310.pyc -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/pyparsing/exceptions.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/pyparsing/helpers.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/pyparsing/py.typed (EMPTY) -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/pyparsing/results.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/pyparsing/testing.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/pyparsing/unicode.py @@ -1169,6 +1178,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/resolvelib/com -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-310.pyc -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/resolvelib/providers.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/resolvelib/py.typed (EMPTY) -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/resolvelib/reporters.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/resolvelib/structs.py @@ -1387,6 +1397,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/rich/__pycache -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/rich/progress_bar.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/rich/prompt.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/rich/protocol.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/rich/py.typed (EMPTY) -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/rich/region.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/rich/repr.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/rich/rule.py @@ -1437,6 +1448,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/tenacity/__pyc -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tenacity/before.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tenacity/before_sleep.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tenacity/nap.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tenacity/py.typed (EMPTY) -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tenacity/retry.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tenacity/stop.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tenacity/tornadoweb.py @@ -1455,6 +1467,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/tomli/__pycach -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tomli/_parser.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tomli/_re.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tomli/_types.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/tomli/py.typed drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/truststore/ -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/truststore/__init__.py drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/truststore/__pycache__/ @@ -1475,6 +1488,7 @@ drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/truststore/__p -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/truststore/_openssl.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/truststore/_ssl_constants.py -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/truststore/_windows.py +-rw-rw-r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/truststore/py.typed (EMPTY) -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/typing_extensions.py drwxr-xr-x root/root usr/lib/python3.10/site-packages/pip/_vendor/urllib3/ -rw-r--r-- root/root usr/lib/python3.10/site-packages/pip/_vendor/urllib3/__init__.py diff --git a/python3-pip/.signature b/python3-pip/.signature index a94027a35..8d41a03de 100644 --- a/python3-pip/.signature +++ b/python3-pip/.signature @@ -1,5 +1,6 @@ untrusted comment: verify with /etc/ports/opt.pub -RWSE3ohX2g5d/faNDkhclF3cgLhClBXtStWeGphIyIsBrQXThAcgXfBmalmEm13aDwMFaKgYEgK7yUpZds32iv4PU6Nfmuqb4g0= -SHA256 (Pkgfile) = 8887d1e5863da5c22f89b236d4a7b3fc47866cba75e2bfb0b84467818cd5939c -SHA256 (.footprint) = 1c85e17811bdff066d6d95c7d4291649b3db731ea4d836fb5f44d94325144129 +RWSE3ohX2g5d/c+ZzdFWQGNgn/U98WAnzeaDQM2EhUqx1HnbeaVbMIcBN1Zi1JXRHYIEsvzsfjI+uCXZb+VMeoyF+7vFNkdDkws= +SHA256 (Pkgfile) = 4c5308b2223e5f78ddb97231ce8acd7824ca52f3f02a4ad361e1657558897340 +SHA256 (.footprint) = 83c8c1ff2b2478c879d212ac4d13c559884f1385968407c04d8e77ee04b33ae3 SHA256 (pip-23.3.1.tar.gz) = 1fcaa041308d01f14575f6d0d2ea4b75a3e2871fe4f9c694976f908768e14174 +SHA256 (EXTERNALLY-MANAGED.in) = 496e8e4bf177c40d128b6c7fa9edaf905b4631b450a87d01507781f6f9f30520 diff --git a/python3-pip/EXTERNALLY-MANAGED.in b/python3-pip/EXTERNALLY-MANAGED.in new file mode 100644 index 000000000..7b36b1b97 --- /dev/null +++ b/python3-pip/EXTERNALLY-MANAGED.in @@ -0,0 +1,25 @@ +[externally-managed] +Error=CRUX discourages installing python packages via pip + directly. This practice can lead to unpredictable behaviour + while using the official ports system. + + Instead of using pip, try looking for your desired package + inside your available repositories with e.g. 'prt-get search + MODULENAME'. + You might also want to see if a CRUX user published a port for + your desired package on the official ports database. + + If it's not available it is advisable to create one yourself and + control the package with the ports system. + However, if you don't wish to create your own package(s), you can + create a virtual environment using '/usr/bin/python3 -m venv + path/to/venv'. + Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make + sure you have python3-virtualenv installed. + + Further information: + - CRUX Ports System: https://crux.nu/Main/Handbook3-7#ntoc47 + - CRUX Ports System FAQ: https://crux.nu/Wiki/FaqPortsSystem + - CRUX Port Guidelines: https://crux.nu/Main/PortGuidelines + - CRUX Ports DB: https://crux.nu/portdb/ + - Python Virtual Environments: https://docs.python.org/3/library/venv.html diff --git a/python3-pip/Pkgfile b/python3-pip/Pkgfile index 8742682de..3155cc0bb 100644 --- a/python3-pip/Pkgfile +++ b/python3-pip/Pkgfile @@ -5,8 +5,9 @@ name=python3-pip version=23.3.1 -release=1 -source=(https://files.pythonhosted.org/packages/source/${name:8:1}/${name#*-}/${name#*-}-$version.tar.gz) +release=2 +source=(https://files.pythonhosted.org/packages/source/${name:8:1}/${name#*-}/${name#*-}-$version.tar.gz + EXTERNALLY-MANAGED.in) build() { cd ${name#*-}-$version @@ -18,6 +19,10 @@ build() { rm $PKG/usr/bin/pip + _pyver=$(/usr/bin/python3 -c 'import sys; print("%s.%s" % sys.version_info[:2])') # again why does this happen? - find $PKG/usr/lib/python*/site-packages -type f -exec chmod o-w '{}' \+ + find $PKG/usr/lib/python${_pyver}/site-packages -type f \ + -exec chmod o-w '{}' \+ + + install -m 644 $SRC/EXTERNALLY-MANAGED.in $PKG/usr/lib/python${_pyver}/EXTERNALLY-MANAGED }