psycopg / psycopg2

PostgreSQL database adapter for the Python programming language
https://www.psycopg.org/
Other
3.35k stars 506 forks source link

Document external packages the generated binary wheels link against #1641

Closed stefan6419846 closed 12 months ago

stefan6419846 commented 12 months ago

Downloading/installating psycopg2 from the official manylinux wheels (pscopyg2-binary) ships with some binary libraries. Unfortunately, neither the packages and their versions nor their licenses are documented anywhere, making it harder to use psycopg2 in a license-compliant fashion.

Having a look at the shared objects with ldd, it seems like the following libraries are affected:

psycopg2/_psycopg.cpython-39-x86_64-linux-gnu.so
    linux-vdso.so.1 (0x00007ffee3b79000)
    libpq-e8a033dd.so.5.16 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libpq-e8a033dd.so.5.16 (0x00007fe2d2b03000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe2d2ab8000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fe2d28c1000)
    libssl-3e69114b.so.1.1 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libssl-3e69114b.so.1.1 (0x00007fe2d2822000)
    libcrypto-75e66d43.so.1.1 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libcrypto-75e66d43.so.1.1 (0x00007fe2d251e000)
    libgssapi_krb5-497db0c6.so.2.2 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libgssapi_krb5-497db0c6.so.2.2 (0x00007fe2d2200000)
    libm.so.6 => /lib64/libm.so.6 (0x00007fe2d20b4000)
    libldap-7a982b46.so.2.0.200 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libldap-7a982b46.so.2.0.200 (0x00007fe2d24ae000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fe2d2bb2000)
    libz.so.1 => /lib64/libz.so.1 (0x00007fe2d1e00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007fe2d24a9000)
    libkrb5-fcafa220.so.3.3 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libkrb5-fcafa220.so.3.3 (0x00007fe2d1a00000)
    libk5crypto-b1f99d5c.so.3.1 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libk5crypto-b1f99d5c.so.3.1 (0x00007fe2d1600000)
    libcom_err-2abe824b.so.2.1 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libcom_err-2abe824b.so.2.1 (0x00007fe2d1200000)
    libkrb5support-d0bcff84.so.0.1 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libkrb5support-d0bcff84.so.0.1 (0x00007fe2d0e00000)
    libkeyutils-dfe70bd6.so.1.5 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libkeyutils-dfe70bd6.so.1.5 (0x00007fe2d0a00000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fe2d248d000)
    liblber-a070ad53.so.2.0.200 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/liblber-a070ad53.so.2.0.200 (0x00007fe2d247d000)
    libsasl2-883649fd.so.3.0.0 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libsasl2-883649fd.so.3.0.0 (0x00007fe2d245e000)
    libselinux-0922c95c.so.1 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libselinux-0922c95c.so.1 (0x00007fe2d0600000)
    libpcre-9513aab5.so.1.2.0 => /tmp/tmp54igfxms/psycopg2/../psycopg2_binary.libs/libpcre-9513aab5.so.1.2.0 (0x00007fe2d0200000)

It would be great to extend the documentation and ship with a list of external dependencies and their licenses.

dvarrazzo commented 12 months ago

You are welcome to not use psycopg2-binary and use psycopg2 instead, which, as documented, is the preferred way of using the software.

stefan6419846 commented 12 months ago

I am aware of this, although this does not really avoid that psycopg2 depends on external libraries as listed above. Nevertheless, I understand that their is no real interest from your side and the side of the project to change or document this accordingly.