• moonpiedumplings@programming.dev
    link
    fedilink
    arrow-up
    12
    arrow-down
    5
    ·
    6 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.

    • bamboo@lemm.ee
      link
      fedilink
      arrow-up
      15
      ·
      6 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@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        6 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 @feddit.uk
          link
          fedilink
          arrow-up
          2
          ·
          6 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.

        • bamboo@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          6 months ago

          I do this stuff for work, unfortunately I don’t have the flexibility to choose here.

    • 𝘋𝘪𝘳𝘬@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      6 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.

      • bamboo@lemm.ee
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        6 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.