• @[email protected]
    link
    fedilink
    92 months ago

    This is the kind of crap that makes me glad flatpak and such exist. I don’t want a maintainer making arbitrary decisions like this, it adds unpredictability and platform inconsistency.

    A similar issue I face is that on Debian the python stdlib well… isn’t all standard. In particular they split off the venv package, and it’s an extra step that adds unnecessary complication. No other Linux distros or other OS do this, it’s so frustrating. I guess someone is super happy they saved a few hundreds kilobytes of disk space though.

    • @moonpiedumplings
      link
      72 months ago

      I guess someone is super happy they saved a few hundreds kilobytes of disk space though.

      Yes. All the people basing docker images off if debian, and trying to get them as small as possible. The splitting up of packages, allows people to only pull in what they need.

      • @[email protected]
        link
        fedilink
        152 months ago

        Sorry I was way off in my assumption that the venv package is a few hundreds kilobytes. apt is reporting 6144 bytes. 6 kilobytes. Installing python on the base bookworm image is 38.3MB. If you’re already installing python, it’s a rounding error. Also they have a separate python3-minimal package (which saves a laughable 200kb), why are they de-featuring the regular python version when they also have a separate minimal version? It makes zero sense. The python3 package should contain the entire python standard library. If it were supposed to be an addon, it wouldn’t be part of the standard library.

        • @moonpiedumplings
          link
          42 months ago

          The python3 package should contain the entire python standard library

          You are free to use a distro which does not split packages, favorite distro, Arch Linux (btw).

          Or, you can install the recommended dependencies of python3. Testing in a container, the python3 package pulls:

          root@a72bd55a3c1a:/# apt install python3
          Reading package lists... Done
          Building dependency tree... Done
          Reading state information... Done
          The following additional packages will be installed:
            ca-certificates krb5-locales libexpat1 libgpm2 libgssapi-krb5-2 libk5crypto3
            libkeyutils1 libkrb5-3 libkrb5support0 libncursesw6 libnsl2
            libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8
            libsqlite3-0 libssl3 libtirpc-common libtirpc3 media-types openssl
            python3-minimal python3.11 python3.11-minimal readline-common
          Suggested packages:
            gpm krb5-doc krb5-user python3-doc python3-tk python3-venv python3.11-venv
            python3.11-doc binutils binfmt-support readline-doc
          The following NEW packages will be installed:
            ca-certificates krb5-locales libexpat1 libgpm2 libgssapi-krb5-2 libk5crypto3
            libkeyutils1 libkrb5-3 libkrb5support0 libncursesw6 libnsl2
            libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8
            libsqlite3-0 libssl3 libtirpc-common libtirpc3 media-types openssl python3
            python3-minimal python3.11 python3.11-minimal readline-common
          0 upgraded, 26 newly installed, 0 to remove and 18 not upgraded.
          

          python3-venv python3.11-venv

          I find it odd, because debian does this by default, actually. They account for usecases like yours, and instead you have to edit a config file or use a command line flag to get it to not install recommended dependencies.

          • Morphit
            link
            fedilink
            22 months ago

            I find it odd, because venv is a “Suggested package”, actually. It isn’t in the list of new packages that will be installed with python3 by default.

            I think the next major release of apt is supposed to be easier to read. Unless Debian neuter it.

      • 𝘋𝘪𝘳𝘬
        link
        fedilink
        12 months ago

        If you base your Docker images on a full distribution then that is entirely your fault. People usually use specialized distributions for that.

        You could even bootstrap your needed tooling from Busybox.

        • lemmyvore
          link
          fedilink
          English
          11 month ago

          Specialized distributions like minideb still use the Debian packages, they just use fewer by default.

        • @[email protected]
          link
          fedilink
          12 months ago

          Debian or Ubuntu are usually the best choice if you depend on glibc. Alpine is definitely more compact but musl isn’t always an option.