• Bug#1068637: apt does not always install Recommends

    From Julian Andres Klode@21:1/5 to Vincent Lefevre on Mon Apr 8 12:40:02 2024
    Control: severity -1 wishlist

    On Mon, Apr 08, 2024 at 11:50:04AM +0200, Vincent Lefevre wrote:
    Package: apt
    Version: 2.7.14
    Severity: serious

    The lvm2 package is installed, but not thin-provisioning-tools,
    though lvm2 recommends it. This can yield a broken system:

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857142

    the fix of this bug being

    * Make lvm2 recommend thin-provisioning-tools. (closes: #857142)

    That's a packaging bug. If the tool is mandatory for correct behavior
    of the system it should be a Depends.

    Now back to the topic, this is not a release critical bug in APT. APT
    installs any Recommends with easily satisfiable dependencies. Recommends
    will get broken easily if there's large scale dependency issues like
    now.

    This works out well if you Recommend an Architecture: all package and
    it Depends on packages that are not available on all architectures -
    it is just being skipped on those.

    In this particular instance you're getting bit by time_t transition
    issues and Recommends disappear on you (even if they may be satisfiable
    it may simply be easier to break the Recommends for apt than to figure
    out the right solution).

    However I do agree with you and I've already set this a couple of times
    before that I want to move away from treating Recommends as optional dependencies that we want to satisfy as many of as we can.

    My proposal is quite simple:

    Recommends that point to an existing real package are promoted to
    Depends, except that you may remove them by explicit action (remove
    them after install, mark them for removal before installing, or if
    it is unsatisfied in the installed package it remains unsatisfied).

    This applies to the entire or group. If you Recommends: real | virtual,
    the recommends may also be satisfied by the virtual package.

    I do not know what the behavior should be for Recommends exclusively
    n virtual packages, I feel like promoting them could have unforeseen
    issues, people think less about them than real packages.

    Ultimately this may be a bit challenging to implement but I didn't
    actually get around to looking at it yet, and it certainly will take
    some time to sort out the uninstallabilities this introduces in the
    archive especially on niche architectures where Architecture: all
    packages are Recommended but not installable.

    --
    debian developer - deb.li/jak | jak-linux.org - free software dev
    ubuntu core developer i speak de, en

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Vincent Lefevre@21:1/5 to Julian Andres Klode on Mon Apr 8 13:10:02 2024
    On 2024-04-08 12:29:17 +0200, Julian Andres Klode wrote:
    On Mon, Apr 08, 2024 at 11:50:04AM +0200, Vincent Lefevre wrote:
    The lvm2 package is installed, but not thin-provisioning-tools,
    though lvm2 recommends it. This can yield a broken system:

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857142

    the fix of this bug being

    * Make lvm2 recommend thin-provisioning-tools. (closes: #857142)

    That's a packaging bug. If the tool is mandatory for correct behavior
    of the system it should be a Depends.

    It is not mandatory in all cases, but it some cases. In any case,
    the "Recommends:" must be honored.

    In this particular instance you're getting bit by time_t transition
    issues and Recommends disappear on you (even if they may be satisfiable
    it may simply be easier to break the Recommends for apt than to figure
    out the right solution).

    No, lvm2 was installed before the time_t transition. It actually
    affects plain bookworm installations (on a machine where I installed
    Debian 12.1 on 2023-10-07); you can see with the attached
    "dpkg --get-selections" output I had at that time.

    --
    Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
    100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
    Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

    accountsservice install
    acl install
    adduser install
    adwaita-icon-theme install
    aisleriot install
    alsa-topology-conf install
    alsa-ucm-conf install
    alsa-utils install
    anacron install
    analog install
    apache2 install
    apache2-bin install
    apache2-data install
    apache2-doc install
    apache2-utils install
    apg install
    apparmor install
    appstream install
    apt install
    apt-config-icons install
    apt-listchanges install
    apt-utils install
    aspell install
    aspell-en install
    at-spi2-common install
    at-spi2-core install
    avahi-autoipd install
    avahi-daemon install
    baobab install
    base-files install
    base-passwd install
    bash install
    bash-completion install
    bc install
    bind9-dnsutils install
    bind9-host install
    bind9-libs:amd64 install
    bluetooth install
    bluez install
    bluez-obexd install
    bogofilter install
    bogofilter-bdb install
    bogofilter-common install
    bolt install
    brasero-common install
    bsdextrautils install
    bsdutils install
    bubblewrap install
    busybox install
    bzip2 install
    ca-certificates install
    cdrdao install
    cheese install
    cheese-common install
    chrome-gnome-shell install
    coinor-libcbc3:amd64 install
    coinor-libcgl1:amd64 install
    coinor-libclp1:amd64 install coinor-libcoinmp1v5:amd64 install coinor-libcoinutils3v5:amd64 install
    coinor-libosi1v5:amd64 install
    colord install
    colord-data install
    console-setup install
    console-setup-linux install
    coreutils install
    cpio install
    cpp install
    cpp-12 install
    cracklib-runtime install
    cron install
    cron-daemon-common install
    cryptsetup install
    cryptsetup-bin install
    cryptsetup-initramfs install
    cups install
    cups-browsed install
    cups-client install
    cups-common install
    cups-core-drivers install
    cups-daemon install
    cups-filters install cups-filters-core-drivers install
    cups-ipp-utils install
    cups-pk-helper install
    cups-ppdc install
    cups-server-common install
    dash install
    dbus install
    dbus-bin install
    dbus-daemon install
    dbus-session-bus-common install
    dbus-system-bus-common install
    dbus-user-session install
    dconf-cli install dconf-gsettings-backend:amd64 install
    dconf-service install
    debconf install
    debconf-i18n install
    debian-archive-keyring install
    debian-faq install
    debianutils install
    desktop-base install
    desktop-file-utils install
    dictionaries-common install
    diffutils install
    dirmngr install
    discover install
    discover-data install
    distro-info-data install
    dmeventd install
    dmidecode install
    dmsetup install
    dns-root-data install
    dnsmasq-base install
    doc-debian install
    docbook-xml install
    dosfstools install
    dpkg install
    e2fsprogs install
    efibootmgr install
    eject install
    emacsen-common install
    enchant-2 install
    eog install
    espeak-ng-data:amd64 install
    evince install
    evince-common install
    evolution install
    evolution-common install
    evolution-data-server install evolution-data-server-common install evolution-plugin-bogofilter install evolution-plugin-pstimport install
    evolution-plugins install
    exfatprogs install
    fdisk install
    file install
    file-roller install
    findutils install
    firefox-esr install
    firmware-iwlwifi install
    firmware-linux-free install
    firmware-misc-nonfree install
    firmware-sof-signed install
    five-or-more install
    folks-common install
    fontconfig install
    fontconfig-config install
    fonts-cantarell install
    fonts-dejavu install
    fonts-dejavu-core install
    fonts-dejavu-extra install
    fonts-droid-fallback install
    fonts-liberation2 install
    fonts-noto-color-emoji install
    fonts-noto-mono install
    fonts-opensymbol install
    fonts-quicksand install
    fonts-symbola install
    fonts-urw-base35 install
    four-in-a-row install
    fuse3 install
    fwupd install
    fwupd-amd64-signed install
    gcc-12-base:amd64 install
    gcr install
    gdisk install
    gdm3 install
    geoclue-2.0 install
    geocode-glib-common install
    gettext-base install
    ghostscript install gir1.2-accountsservice-1.0:amd64 install
    gir1.2-adw-1:amd64 install
    gir1.2-atk-1.0:amd64 install
    gir1.2-atspi-2.0:amd64 install gir1.2-clutter-1.0:amd64 install
    gir1.2-cogl-1.0:amd64 install gir1.2-coglpango-1.0:amd64 install
    gir1.2-evince-3.0:amd64 install gir1.2-freedesktop:amd64 install
    gir1.2-gck-1:amd64 install
    gir1.2-gcr-3:amd64 install gir1.2-gdesktopenums-3.0:amd64 install gir1.2-gdkpixbuf-2.0:amd64 install
    gir1.2-gdm-1.0 install gir1.2-geoclue-2.0:amd64 install gir1.2-geocodeglib-2.0:amd64 install
    gir1.2-glib-2.0:amd64 install
    gir1.2-gmenu-3.0:amd64 install gir1.2-gnomebluetooth-3.0:amd64 install gir1.2-gnomedesktop-3.0:amd64 install gir1.2-gnomedesktop-4.0:amd64 install
    gir1.2-goa-1.0:amd64 install gir1.2-graphene-1.0:amd64 install
    gir1.2-grilo-0.3:amd64 install gir1.2-gst-plugins-bad-1.0:amd64 install gir1.2-gst-plugins-base-1.0:amd64 install gir1.2-gstreamer-1.0:amd64 install
    gir1.2-gtk-3.0:amd64 install
    gir1.2-gtk-4.0:amd64 install gir1.2-gtkclutter-1.0:amd64 install gir1.2-gtksource-4:amd64 install gir1.2-gweather-4.0:amd64 install
    gir1.2-handy-1:amd64 install gir1.2-harfbuzz-0.0:amd64 install
    gir1.2-ibus-1.0:amd64 install gir1.2-javascriptcoregtk-4.0:amd64 install gir1.2-javascriptcoregtk-4.1:amd64 install
    gir1.2-json-1.0:amd64 install gir1.2-malcontent-0:amd64 install gir1.2-mediaart-2.0:amd64 install
    gir1.2-mutter-11:amd64 install
    gir1.2-nm-1.0:amd64 install
    gir1.2-nma-1.0:amd64 install
    gir1.2-notify-0.7:amd64 install gir1.2-packagekitglib-1.0 install
    gir1.2-pango-1.0:amd64 install
    gir1.2-peas-1.0:amd64 install
    gir1.2-polkit-1.0 install
    gir1.2-rb-3.0:amd64 install
    gir1.2-rest-1.0:amd64 install
    gir1.2-rsvg-2.0:amd64 install
    gir1.2-secret-1:amd64 install gir1.2-shumate-1.0:amd64 install
    gir1.2-soup-2.4:amd64 install
    gir1.2-soup-3.0:amd64 install
    gir1.2-totem-1.0:amd64 install gir1.2-totemplparser-1.0:amd64 install gir1.2-tracker-3.0:amd64 install gir1.2-upowerglib-1.0:amd64 install gir1.2-webkit2-4.0:amd64 install gir1.2-webkit2-4.1:amd64 install
    gir1.2-wnck-3.0:amd64 install
    gjs install
    gkbd-capplet install
    glib-networking:amd64 install
    glib-networking-common install glib-networking-services install
    gnome install
    gnome-2048 install gnome-accessibility-themes install
    gnome-backgrounds install gnome-bluetooth-3-common install
    gnome-bluetooth-sendto install
    gnome-browser-connector install
    gnome-calculator install
    gnome-calendar install
    gnome-characters install
    gnome-chess install
    gnome-clocks install
    gnome-color-manager install
    gnome-contacts install
    gnome-control-center install gnome-control-center-data install
    gnome-core install
    gnome-desktop3-data install
    gnome-disk-utility install
    gnome-font-viewer install
    gnome-games install
    gnome-icon-theme install
    gnome-initial-setup install
    gnome-keyring install gnome-keyring-pkcs11:amd64 install
    gnome-klotski install
    gnome-logs install
    gnome-mahjongg install
    gnome-maps install
    gnome-menus install
    gnome-mines install
    gnome-music install
    gnome-nibbles install
    gnome-online-accounts install
    gnome-remote-desktop install
    gnome-robots install
    gnome-session install
    gnome-session-bin install
    gnome-session-common install
    gnome-settings-daemon install gnome-settings-daemon-common install
    gnome-shell install
    gnome-shell-common install gnome-shell-extension-prefs install
    gnome-shell-extensions install
    gnome-software install
    gnome-software-common install
    gnome-sound-recorder install
    gnome-sudoku install
    gnome-sushi install
    gnome-system-monitor install
    gnome-taquin install
    gnome-terminal install
    gnome-terminal-data install
    gnome-tetravex install
    gnome-text-editor install gnome-themes-extra:amd64 install
    gnome-themes-extra-data install
    gnome-tweaks install
    gnome-user-docs install
    gnome-user-share install
    gnome-video-effects install
    gnome-weather install
    gnupg install
    gnupg-l10n install
    gnupg-utils install
    gpg install
    gpg-agent install
    gpg-wks-client install
    gpg-wks-server install
    gpgconf install
    gpgsm install
    gpgv install
    grep install
    grilo-plugins-0.3:amd64 install
    groff-base install
    grub-common install
    grub-efi-amd64 install
    grub-efi-amd64-bin install
    grub-efi-amd64-signed install
    grub2-common install gsettings-desktop-schemas install
    gsfonts install gstreamer1.0-clutter-3.0:amd64 install
    gstreamer1.0-gl:amd64 install
    gstreamer1.0-gtk3:amd64 install gstreamer1.0-libav:amd64 install
    gstreamer1.0-packagekit install gstreamer1.0-pipewire:amd64 install gstreamer1.0-plugins-bad:amd64 install gstreamer1.0-plugins-base:amd64 install gstreamer1.0-plugins-good:amd64 install gstreamer1.0-plugins-ugly:amd64 install
    gstreamer1.0-x:amd64 install
    gtk-update-icon-cache install gtk2-engines-pixbuf:amd64 install
    guile-3.0-libs:amd64 install
    gvfs:amd64 install
    gvfs-backends install
    gvfs-common install
    gvfs-daemons install
    gvfs-fuse install
    gvfs-libs:amd64 install
    gzip install
    hicolor-icon-theme install
    hitori install
    hoichess install
    hostname install
    hunspell-en-us install
    hyphen-en-us install
    i965-va-driver:amd64 install
    iagno install
    iamerican install
    ibritish install
    ibus install
    ibus-data install
    ibus-gtk:amd64 install
    ibus-gtk3:amd64 install
    ibus-gtk4:amd64 install
    ienglish-common install
    ifupdown install
    iio-sensor-proxy install
    im-config install
    imagemagick-6-common install
    inetutils-telnet install
    init install
    init-system-helpers install
    initramfs-tools install
    initramfs-tools-core install
    installation-report install intel-media-va-driver:amd64 install
    intel-microcode install
    ipp-usb install
    iproute2 install
    iputils-ping install
    isc-dhcp-client install
    isc-dhcp-common install
    iso-codes install
    ispell install
    iucode-tool install
    iw install
    javascript-common install
    jq install
    kbd install
    keyboard-configuration install
    klibc-utils install
    kmod install
    krb5-locales install
    laptop-detect install
    less install
    liba52-0.7.4:amd64 install
    libaa1:amd64 install
    libaacs0:amd64 install
    libabsl20220623:amd64 install
    libabw-0.1-1:amd64 install libaccountsservice0:amd64 install
    libacl1:amd64 install
    libadwaita-1-0:amd64 install
    libaio1:amd64 install
    libao-common install
    libao4:amd64 install
    libaom3:amd64 install
    libapache2-mod-dnssd install
    libapparmor1:amd64 install
    libappstream4:amd64 install
    libapr1:amd64 install
    libaprutil1:amd64 install libaprutil1-dbd-sqlite3:amd64 install
    libaprutil1-ldap:amd64 install
    libapt-pkg6.0:amd64 install
    libarchive13:amd64 install
    libargon2-1:amd64 install
    libasound2:amd64 install
    libasound2-data install
    libaspell15:amd64 install
    libass9:amd64 install
    libassuan0:amd64 install
    libasyncns0:amd64 install
    libatasmart4:amd64 install
    libatk-adaptor:amd64 install libatk-bridge2.0-0:amd64 install
    libatk1.0-0:amd64 install
    libatkmm-1.6-1v5:amd64 install
    libatomic1:amd64 install
    libatopology2:amd64 install
    libatspi2.0-0:amd64 install
    libattr1:amd64 install
    libaudio2:amd64 install
    libaudit-common install
    libaudit1:amd64 install
    libauthen-sasl-perl install
    libavahi-client3:amd64 install libavahi-common-data:amd64 install
    libavahi-common3:amd64 install
    libavahi-core7:amd64 install
    libavahi-glib1:amd64 install
    libavc1394-0:amd64 install
    libavcodec59:amd64 install
    libavfilter8:amd64 install
    libavformat59:amd64 install
    libavif15:amd64 install
    libavutil57:amd64 install libayatana-appindicator3-1 install libayatana-ido3-0.4-0:amd64 install libayatana-indicator3-7:amd64 install
    libbdplus0:amd64 install
    libblas3:amd64 install
    libblkid1:amd64 install libblockdev-crypto2:amd64 install
    libblockdev-fs2:amd64 install
    libblockdev-loop2:amd64 install libblockdev-part-err2:amd64 install
    libblockdev-part2:amd64 install
    libblockdev-swap2:amd64 install libblockdev-utils2:amd64 install
    libblockdev2:amd64 install
    libbluetooth3:amd64 install
    libbluray2:amd64 install libboost-filesystem1.74.0:amd64 install libboost-iostreams1.74.0:amd64 install libboost-locale1.74.0:amd64 install libboost-thread1.74.0:amd64 install
    libbox2d2:amd64 install
    libbpf1:amd64 install libbrasero-media3-1:amd64 install
    libbrlapi0.8:amd64 install
    libbrotli1:amd64 install
    libbs2b0:amd64 install
    libbsd0:amd64 install
    libburn4:amd64 install
    libbz2-1.0:amd64 install
    libc-bin install
    libc-l10n install
    libc6:amd64 install
    libcaca0:amd64 install
    libcairo-gobject-perl install
    libcairo-gobject2:amd64 install
    libcairo-perl install libcairo-script-interpreter2:amd64 install
    libcairo2:amd64 install libcairomm-1.0-1v5:amd64 install
    libcamel-1.2-64:amd64 install libcanberra-gtk3-0:amd64 install libcanberra-gtk3-module:amd64 install
    libcanberra-pulse:amd64 install
    libcanberra0:amd64 install
    libcap-ng0:amd64 install
    libcap2:amd64 install
    libcap2-bin install
    libcbor0.8:amd64 install
    libcdio-cdda2:amd64 install
    libcdio-paranoia2:amd64 install
    libcdio19:amd64 install
    libcdparanoia0:amd64 install
    libcdr-0.1-1:amd64 install
    libcheese-gtk25:amd64 install
    libcheese8:amd64 install
    libchromaprint1:amd64 install
    libcjson1:amd64 install
    libclone-perl:amd64 install libcloudproviders0:amd64 install libclucene-contribs1v5:amd64 install libclucene-core1v5:amd64 install
    libclutter-1.0-0:amd64 install
    libclutter-1.0-common install libclutter-gst-3.0-0:amd64 install libclutter-gtk-1.0-0:amd64 install
    libcmark0.30.2:amd64 install
    libcodec2-1.0:amd64 install
    libcogl-common install
    libcogl-pango20:amd64 install
    libcogl-path20:amd64 install
    libcogl20:amd64 install
    libcolamd2:amd64 install
    libcolord-gtk4-1:amd64 install
    libcolord2:amd64 install
    libcolorhug2:amd64 install
    libcom-err2:amd64 install
    libcrack2:amd64 install
    libcrypt1:amd64 install
    libcryptsetup12:amd64 install
    libcue2:amd64 install
    libcups2:amd64 install
    libcupsfilters1:amd64 install
    libcurl3-gnutls:amd64 install
    libcurl4:amd64 install
    libdaemon0:amd64 install
    libdata-dump-perl install
    libdatrie1:amd64 install
    libdav1d6:amd64 install
    libdb5.3:amd64 install
    libdbus-1-3:amd64 install
    libdbus-glib-1-2:amd64 install
    libdbusmenu-glib4:amd64 install libdbusmenu-gtk3-4:amd64 install
    libdc1394-25:amd64 install
    libdca0:amd64 install
    libdconf1:amd64 install
    libde265-0:amd64 install
    libdebconfclient0:amd64 install
    libdecor-0-0:amd64 install libdecor-0-plugin-1-cairo:amd64 install
    libdee-1.0-4:amd64 install
    libdeflate0:amd64 install libdevmapper-event1.02.1:amd64 install libdevmapper1.02.1:amd64 install
    libdirectfb-1.7-7:amd64 install
    libdiscover2 install
    libdjvulibre-text install
    libdjvulibre21:amd64 install libdmapsharing-3.0-2:amd64 install
    libdotconf0:amd64 install
    libdrm-amdgpu1:amd64 install
    libdrm-common install
    libdrm-intel1:amd64 install
    libdrm-nouveau2:amd64 install
    libdrm-radeon1:amd64 install
    libdrm2:amd64 install
    libduktape207:amd64 install
    libdv4:amd64 install
    libdvdnav4:amd64 install
    libdvdread8:amd64 install
    libdw1:amd64 install
    libe-book-0.1-1:amd64 install libebackend-1.2-11:amd64 install
    libebook-1.2-21:amd64 install libebook-contacts-1.2-4:amd64 install
    libecal-2.0-2:amd64 install libedata-book-1.2-27:amd64 install libedata-cal-2.0-2:amd64 install libedataserver-1.2-27:amd64 install libedataserverui-1.2-4:amd64 install libedataserverui4-1.0-0:amd64 install
    libedit2:amd64 install
    libeditorconfig0:amd64 install
    libefiboot1:amd64 install
    libefivar1:amd64 install
    libegl-mesa0:amd64 install
    libegl1:amd64 install
    libelf1:amd64 install
    libenchant-2-2:amd64 install
    libencode-locale-perl install
    libeot0:amd64 install
    libepoxy0:amd64 install
    libept1.6.0:amd64 install
    libepubgen-0.1-1:amd64 install
    libespeak-ng1:amd64 install
    libetonyek-0.1-1:amd64 install
    libevdev2:amd64 install
    libevdocument3-4:amd64 install
    libevent-2.1-7:amd64 install
    libevolution install
    libevview3-3:amd64 install
    libexempi8:amd64 install
    libexif12:amd64 install
    libexiv2-27:amd64 install
    libexpat1:amd64 install
    libext2fs2:amd64 install libexttextcat-2.0-0:amd64 install
    libexttextcat-data install libextutils-depends-perl install
    libfaad2:amd64 install
    libfdisk1:amd64 install
    libffi8:amd64 install
    libfftw3-double3:amd64 install
    libfftw3-single3:amd64 install
    libfido2-1:amd64 install
    libfile-basedir-perl install libfile-desktopentry-perl install
    libfile-listing-perl install
    libfile-mimeinfo-perl install
    libflac12:amd64 install
    libflashrom1:amd64 install
    libflatpak0:amd64 install
    libflite1:amd64 install
    libfluidsynth3:amd64 install
    libfolks-eds26:amd64 install
    libfolks26:amd64 install
    libfont-afm-perl install
    libfontconfig1:amd64 install
    libfontembed1:amd64 install
    libfontenc1:amd64 install
    libfreeaptx0:amd64 install
    libfreehand-0.1-1 install libfreerdp-server2-2:amd64 install
    libfreerdp2-2:amd64 install
    libfreetype6:amd64 install
    libfribidi0:amd64 install
    libfstrm0:amd64 install
    libftdi1-2:amd64 install
    libfuse2:amd64 install
    libfuse3-3:amd64 install
    libfwupd2:amd64 install
    libgail-3-0:amd64 install
    libgail-common:amd64 install
    libgail18:amd64 install
    libgav1-1:amd64 install
    libgbm1:amd64 install
    libgc1:amd64 install
    libgcab-1.0-0:amd64 install
    libgcc-s1:amd64 install
    libgck-1-0:amd64 install
    libgcr-base-3-1:amd64 install
    libgcr-ui-3-1:amd64 install
    libgcrypt20:amd64 install
    libgd3:amd64 install
    libgdata-common install
    libgdata22:amd64 install
    libgdbm-compat4:amd64 install
    libgdbm6:amd64 install libgdk-pixbuf-2.0-0:amd64 install
    libgdk-pixbuf2.0-bin install
    libgdk-pixbuf2.0-common install
    libgdm1 install
    libgee-0.8-2:amd64 install
    libgeoclue-2-0:amd64 install libgeocode-glib-2-0:amd64 install
    libges-1.0-0 install
    libgexiv2-2:amd64 install
    libgfortran5:amd64 install
    libgif7:amd64 install libgirepository-1.0-1:amd64 install
    libgjs0g:amd64 install
    libgl1:amd64 install
    libgl1-mesa-dri:amd64 install
    libglapi-mesa:amd64 install
    libgles2:amd64 install libglib-object-introspection-perl install
    libglib-perl:amd64 install
    libglib2.0-0:amd64 install
    libglib2.0-bin install
    libglib2.0-data install
    libglibmm-2.4-1v5:amd64 install
    libglu1-mesa:amd64 install
    libglvnd0:amd64 install
    libglx-mesa0:amd64 install
    libglx0:amd64 install
    libgme0:amd64 install
    libgmp10:amd64 install libgnome-autoar-0-0:amd64 install libgnome-autoar-gtk-0-0:amd64 install
    libgnome-bg-4-2:amd64 install libgnome-bluetooth-3.0-13:amd64 install libgnome-bluetooth-ui-3.0-13:amd64 install libgnome-desktop-3-20:amd64 install libgnome-desktop-4-2:amd64 install libgnome-games-support-1-3:amd64 install libgnome-games-support-common install
    libgnome-menu-3-0:amd64 install
    libgnome-rr-4-2:amd64 install
    libgnomekbd-common install
    libgnomekbd8:amd64 install
    libgnutls30:amd64 install
    libgoa-1.0-0b:amd64 install
    libgoa-1.0-common install libgoa-backend-1.0-1:amd64 install
    libgom-1.0-0:amd64 install
    libgomp1:amd64 install
    libgpg-error0:amd64 install
    libgpgme11:amd64 install
    libgpgmepp6:amd64 install
    libgphoto2-6:amd64 install
    libgphoto2-l10n install
    libgphoto2-port12:amd64 install
    libgpm2:amd64 install
    libgpod-common install
    libgpod4:amd64 install
    libgraphene-1.0-0:amd64 install
    libgraphite2-3:amd64 install
    libgrilo-0.3-0:amd64 install
    libgs-common install
    libgs10:amd64 install
    libgs10-common install
    libgsf-1-114:amd64 install
    libgsf-1-common install
    libgsf-bin install
    libgsl27:amd64 install
    libgslcblas0:amd64 install
    libgsm1:amd64 install
    libgsound0:amd64 install
    libgspell-1-2:amd64 install
    libgspell-1-common install
    libgssapi-krb5-2:amd64 install
    libgssdp-1.6-0:amd64 install libgstreamer-gl1.0-0:amd64 install libgstreamer-plugins-bad1.0-0:amd64 install libgstreamer-plugins-base1.0-0:amd64 install
    libgstreamer1.0-0:amd64 install
    libgtk-3-0:amd64 install
    libgtk-3-bin install
    libgtk-3-common install
    libgtk-4-1:amd64 install
    libgtk-4-bin install
    libgtk-4-common install
    libgtk2.0-0:amd64 install
    libgtk2.0-bin install
    libgtk2.0-common install
    libgtk3-perl install
    libgtkmm-3.0-1v5:amd64 install libgtksourceview-4-0:amd64 install libgtksourceview-4-common install libgtksourceview-5-0:amd64 install libgtksourceview-5-common install
    libgtop-2.0-11:amd64 install
    libgtop2-common install
    libgudev-1.0-0:amd64 install
    libgupnp-1.6-0:amd64 install
    libgupnp-av-1.0-3 install
    libgupnp-dlna-2.0-4 install libgupnp-igd-1.0-4:amd64 install
    libgusb2:amd64 install
    libgweather-4-0:amd64 install
    libgweather-4-common install
    libgxps2:amd64 install
    libhandy-1-0:amd64 install
    libharfbuzz-icu0:amd64 install
    libharfbuzz0b:amd64 install
    libheif1:amd64 install
    libhogweed6:amd64 install
    libhtml-form-perl install
    libhtml-format-perl install libhtml-parser-perl:amd64 install
    libhtml-tagset-perl install
    libhtml-tree-perl install
    libhttp-cookies-perl install
    libhttp-daemon-perl install
    libhttp-date-perl install
    libhttp-message-perl install
    libhttp-negotiate-perl install
    libhunspell-1.7-0:amd64 install
    libhwy1:amd64 install
    libhyphen0:amd64 install
    libibus-1.0-5:amd64 install
    libical3:amd64 install
    libice6:amd64 install
    libicu72:amd64 install
    libidn12:amd64 install
    libidn2-0:amd64 install
    libiec61883-0:amd64 install
    libieee1284-3:amd64 install
    libigdgmm12:amd64 install
    libijs-0.35:amd64 install
    libimath-3-1-29:amd64 install
    libimobiledevice6:amd64 install
    libinput-bin install
    libinput10:amd64 install libinstpatch-1.0-2:amd64 install
    libio-html-perl install
    libio-socket-ssl-perl install
    libio-stringy-perl install
    libip4tc2:amd64 install libipc-system-simple-perl install
    libiptcdata0 install
    libisl23:amd64 install
    libisofs6:amd64 install
    libiw30:amd64 install
    libjack-jackd2-0:amd64 install
    libjansson4:amd64 install libjavascriptcoregtk-4.0-18:amd64 install libjavascriptcoregtk-4.1-0:amd64 install libjavascriptcoregtk-6.0-1:amd64 install
    libjaylink0:amd64 install
    libjbig0:amd64 install
    libjbig2dec0:amd64 install
    libjcat1:amd64 install
    libjemalloc2:amd64 install
    libjim0.81:amd64 install
    libjpeg62-turbo:amd64 install
    libjq1:amd64 install
    libjson-c5:amd64 install libjson-glib-1.0-0:amd64 install
    libjson-glib-1.0-common install
    libjte2:amd64 install
    libjxl0.7:amd64 install
    libjxr-tools install
    libjxr0:amd64 install
    libk5crypto3:amd64 install
    libkate1:amd64 install
    libkeyutils1:amd64 install
    libklibc:amd64 install
    libkmod2:amd64 install
    libkpathsea6:amd64 install
    libkrb5-3:amd64 install
    libkrb5support0:amd64 install
    libksba8:amd64 install
    liblangtag-common install
    liblangtag1:amd64 install
    liblapack3:amd64 install
    liblc3-0:amd64 install
    liblcms2-2:amd64 install
    libldacbt-abr2:amd64 install
    libldacbt-enc2:amd64 install
    libldap-2.5-0:amd64 install
    libldap-common install
    libldb2:amd64 install
    liblerc4:amd64 install
    liblilv-0-0:amd64 install
    liblirc-client0:amd64 install
    libllvm15:amd64 install
    liblmdb0:amd64 install
    liblocale-gettext-perl install
    liblockfile-bin install
    liblouis-data install
    liblouis20:amd64 install
    liblouisutdml-bin install
    liblouisutdml-data install
    liblouisutdml9:amd64 install
    liblqr-1-0:amd64 install
    liblrdf0:amd64 install
    libltc11:amd64 install
    libltdl7:amd64 install
    liblua5.3-0:amd64 install
    liblvm2cmd2.03:amd64 install
    liblwp-mediatypes-perl install liblwp-protocol-https-perl install
    liblz4-1:amd64 install
    liblzma5:amd64 install
    liblzo2-2:amd64 install
    libmagic-mgc install
    libmagic1:amd64 install libmagickcore-6.q16-6:amd64 install libmagickcore-6.q16-6-extra:amd64 install libmagickwand-6.q16-6:amd64 install
    libmailtools-perl install
    libmalcontent-0-0:amd64 install libmalcontent-ui-1-1:amd64 install
    libmanette-0.2-0:amd64 install
    libmaxminddb0:amd64 install
    libmbedcrypto7:amd64 install
    libmbim-glib4:amd64 install
    libmbim-proxy install
    libmbim-utils install
    libmd0:amd64 install
    libmediaart-2.0-0:amd64 install
    libmfx1:amd64 install
    libmhash2:amd64 install
    libminiupnpc17:amd64 install libmjpegutils-2.1-0:amd64 install
    libmm-glib0:amd64 install
    libmnl0:amd64 install
    libmodplug1:amd64 install
    libmount1:amd64 install
    libmozjs-102-0:amd64 install
    libmp3lame0:amd64 install
    libmpc3:amd64 install
    libmpcdec6:amd64 install
    libmpeg2-4:amd64 install libmpeg2encpp-2.1-0:amd64 install
    libmpfr6:amd64 install
    libmpg123-0:amd64 install
    libmplex2-2.1-0:amd64 install
    libmspub-0.1-1:amd64 install
    libmtdev1:amd64 install
    libmtp-common install
    libmtp-runtime install
    libmtp9:amd64 install
    libmutter-11-0:amd64 install
    libmwaw-0.3-3:amd64 install
    libmysofa1:amd64 install
    libmythes-1.2-0:amd64 install
    libnatpmp1:amd64 install libnautilus-extension4:amd64 install
    libncurses6:amd64 install
    libncursesw6:amd64 install
    libndp0:amd64 install
    libneon27:amd64 install
    libnet-dbus-perl install
    libnet-http-perl install
    libnet-smtp-ssl-perl install libnet-ssleay-perl:amd64 install libnetfilter-conntrack3:amd64 install
    libnettle8:amd64 install
    libnewt0.52:amd64 install
    libnfnetlink0:amd64 install
    libnfs13:amd64 install
    libnftables1:amd64 install
    libnftnl11:amd64 install
    libnghttp2-14:amd64 install
    libnice10:amd64 install
    libnl-3-200:amd64 install
    libnl-genl-3-200:amd64 install
    libnl-route-3-200:amd64 install
    libnm0:amd64 install
    libnma-common install
    libnma-gtk4-0:amd64 install
    libnma0:amd64 install
    libnorm1:amd64 install
    libnotify4:amd64 install
    libnpth0:amd64 install
    libnsl2:amd64 install
    libnspr4:amd64 install
    libnss-mdns:amd64 install
    libnss-myhostname:amd64 install
    libnss-systemd:amd64 install
    libnss3:amd64 install
    libntfs-3g89:amd64 install
    libnuma1:amd64 install libnumbertext-1.0-0:amd64 install
    libnumbertext-data install
    liboauth0:amd64 install
    libodfgen-0.1-1:amd64 install
    libogg0:amd64 install
    libonig5:amd64 install
    libopenal-data install
    libopenal1:amd64 install libopencore-amrnb0:amd64 install libopencore-amrwb0:amd64 install
    libopenexr-3-1-30:amd64 install
    libopengl0:amd64 install
    libopenh264-7:amd64 install
    libopenjp2-7:amd64 install
    libopenmpt0:amd64 install
    libopenni2-0:amd64 install
    libopus0:amd64 install
    liborc-0.4-0:amd64 install
    liborcus-0.17-0:amd64 install liborcus-parser-0.17-0:amd64 install
    libosinfo-1.0-0:amd64 install
    libosinfo-l10n install
    libostree-1-1:amd64 install
    libp11-kit0:amd64 install libpackagekit-glib2-18:amd64 install libpagemaker-0.0-0:amd64 install libpam-gnome-keyring:amd64 install
    libpam-modules:amd64 install
    libpam-modules-bin install
    libpam-runtime install
    libpam-systemd:amd64 install
    libpam0g:amd64 install
    libpango-1.0-0:amd64 install libpangocairo-1.0-0:amd64 install
    libpangoft2-1.0-0:amd64 install libpangomm-1.4-1v5:amd64 install
    libpangoxft-1.0-0:amd64 install
    libpaper-utils install
    libpaper1:amd64 install libparted-fs-resize0:amd64 install
    libparted2:amd64 install
    libpcap0.8:amd64 install
    libpcaudio0:amd64 install
    libpci3:amd64 install
    libpciaccess0:amd64 install
    libpcre2-8-0:amd64 install
    libpcsclite1:amd64 install
    libpeas-1.0-0:amd64 install
    libpeas-common install
    libperl4-corelibs-perl install
    libperl5.36:amd64 install
    libpgm-5.3-0:amd64 install
    libphonenumber8:amd64 install
    libpipeline1:amd64 install
    libpipewire-0.3-0:amd64 install
    libpipewire-0.3-common install libpipewire-0.3-modules:amd64 install
    libpixman-1-0:amd64 install
    libplacebo208:amd64 install
    libplist3:amd64 install
    libplymouth5:amd64 install
    libpng16-16:amd64 install
    libpocketsphinx3:amd64 install libpolkit-agent-1-0:amd64 install libpolkit-gobject-1-0:amd64 install
    libpoppler-cpp0v5:amd64 install
    libpoppler-glib8:amd64 install
    libpoppler126:amd64 install
    libpopt0:amd64 install
    libportal-gtk3-1:amd64 install
    libportal-gtk4-1:amd64 install
    libportal1:amd64 install
    libpostproc56:amd64 install
    libproc2-0:amd64 install
    libprotobuf-c1:amd64 install
    libprotobuf32:amd64 install libproxy1-plugin-gsettings:amd64 install libproxy1-plugin-networkmanager:amd64 install libproxy1-plugin-webkit:amd64 install
    libproxy1v5:amd64 install
    libpsl5:amd64 install
    libpst4:amd64 install libpulse-mainloop-glib0:amd64 install
    libpulse0:amd64 install
    libpwquality-common install
    libpwquality1:amd64 install
    libpython3-stdlib:amd64 install
    libpython3.11:amd64 install libpython3.11-minimal:amd64 install libpython3.11-stdlib:amd64 install
    libqmi-glib5:amd64 install
    libqmi-proxy install
    libqmi-utils install
    libqpdf29:amd64 install
    libqqwing2v5:amd64 install
    libqrencode4:amd64 install
    libqrtr-glib0:amd64 install
    libquadmath0:amd64 install
    libqxp-0.0-0 install

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Kalnischkies@21:1/5 to Vincent Lefevre on Mon Apr 8 19:40:01 2024
    On Mon, Apr 08, 2024 at 01:05:40PM +0200, Vincent Lefevre wrote:
    On 2024-04-08 12:29:17 +0200, Julian Andres Klode wrote:
    On Mon, Apr 08, 2024 at 11:50:04AM +0200, Vincent Lefevre wrote:
    The lvm2 package is installed, but not thin-provisioning-tools,
    though lvm2 recommends it. This can yield a broken system:
    […]
    It is not mandatory in all cases, but it some cases. In any case,
    the "Recommends:" must be honored.

    You haven't mentioned AT ALL if we are talking about upgrade or a fresh
    install of lvm2, for the later see below. For the former:

    Are you absolutely, positively sure that you haven't ignored apt
    (aptitude) telling you that it wont install that recommends while
    installing lvm2?

    APT (and aptitude?) do not install old unsatisfied recommends on an
    upgrade, so the only way of not getting thin-provisioning-tools
    installed is either to not have it installed while it was new in which
    case apt (and I think aptitude has somewhat similar) output contains:
    | Recommended packages:
    | thin-provisioning-tools
    Same for Suggests btw which aren't installed by default (but lvm2 has
    none). Or you have removed thin-provisioning-tools at some point after
    it was once installed.

    And yes, as Julian explained, if a package is not installable, that
    also leads to a recommends not being installed but same output.

    (I somewhat doubt you have managed to install an lvm2 which had not yet
    a recommends on thin-provisioning-tools and upgraded that now to
    a version with that recommends. That would be a new recommends that apt
    tries to install, but might fail for reasons Julian mentioned already.
    Different upgrade-commands-implementations have different approaches to
    that – 'apt upgrade' e.g. tries to detect that and holds the upgrade
    off it does, while 'apt full-upgrade' ignores that. Both work better
    if the archive is a stable state… which tends to be the case with
    stable for obvious reasons. Less so for unstable.)


    No, lvm2 was installed before the time_t transition. It actually
    affects plain bookworm installations (on a machine where I installed
    Debian 12.1 on 2023-10-07); you can see with the attached
    "dpkg --get-selections" output I had at that time.
    ^^^^

    What time? Before you installed lvm2? That output says lvm2 is
    installed. So after it, but what are you trying to tell us then?

    That you had lvm2 installed, upgraded it and it still didn't install thin-provisioning-tools? Well, as explained above, working as intended.


    I just bootstrapped a minimal stable chroot with mmdebstrap and behold:
    | # apt install --install-recommends lvm2
    | Reading package lists... Done
    | Building dependency tree... Done
    | Reading state information... Done
    | The following additional packages will be installed:
    | dmeventd dmsetup libaio1 libdevmapper-event1.02.1 libdevmapper1.02.1 liblvm2cmd2.03 thin-provisioning-tools
    | The following NEW packages will be installed:
    | dmeventd dmsetup libaio1 libdevmapper-event1.02.1 libdevmapper1.02.1 liblvm2cmd2.03 lvm2 thin-provisioning-tools
    | 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
    | Need to get 2662 kB of archives.
    | After this operation, 9729 kB of additional disk space will be used.
    | Do you want to continue? [Y/n] n
    | Abort.

    In other words your issue with a "plain bookworm" install is
    unreproducible (My chroots are configured to not install recommends by
    default, so I enable it explicitly on the command line here. There is no difference in behaviour for apt. I think aptitude reacts differently, but
    who knows). If I leave out the flag apt tells me it wont install the
    recommends as shown above. What am I doing wrong, where is the bug?


    So, if you want to have any chance of us investigating your problem as
    a bug rather than as a user-error you will have to tell us what you did exactly, preferably with easy to follow steps and output. Failing that,
    on your bookworm install you might be lucky and still have the installation/upgrade and such of lvm2 in your history.log(s).
    That might shine some light on it as well.


    Best regards

    David Kalnischkies

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEE5sn+Q4uCja/tn0GrMRvlz3HQeIMFAmYUKM0ACgkQMRvlz3HQ eIOGcg/+NIIk2IpPgBOZXl+sxLFcz72C+scJeTmcyu3WhSbTbZS/bJEbAWcP/NwF OCyIUw5A51no0+HjnyCBHTEWCYoioA7mwc0cdVo24zjD5NI5xEgDDog8ns+PU+Xg GnBl/tCnEz5zsijKD7z9Wjs3oR6cRhg32TaGlkibdpAkqMt13e95c4yYtTx2n6xd 3an42Vg6TR2LfvlztIG1zR7fx0qNPqugBTdf9Kv2ZnmXndzgAF7G6v3MISLdalY+ QiuU6iyg1lS7IV+CCKRKGCW4ibmipM1RV0+hg3cG3maG4LuZckP2y9Sc0KJbSnqS moMyA/+FbhBEse+jIWPTVg0Oi8/mOW8lkn9iekeCkPC5YtqCJckh09ZxYIBcsm0y zkxOh2MEae2o8T8rBpqM1AxkwMAlQT0XMIahll1yXA13ygwyEOW8FEeiyXg/e2t0 XY8uCI9nMXLlAj2jD6qTmxyhnWv6+yZzEsWp74kwfuwqenqbOq7h2whl+MnKGl32 yw2r15whN2Oc+Itgrdj0EROePRRCocvABgbSbYoEIJ2jNj02XQ00x3c8mCZUgxJx p+ZAJq4z3nEfcMMv+VE5NTpKuRj0lDn/Jg02fi3Vb7foXP3OB2mY968tD+MX+uJG rt5HhQTd7vhWe44d1YVckWy3rP9PgpV8nViNDXysFfVq+Re68EM=
    =4W/J
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Vincent Lefevre@21:1/5 to David Kalnischkies on Tue Apr 9 02:30:01 2024
    On 2024-04-08 19:26:42 +0200, David Kalnischkies wrote:
    On Mon, Apr 08, 2024 at 01:05:40PM +0200, Vincent Lefevre wrote:
    On 2024-04-08 12:29:17 +0200, Julian Andres Klode wrote:
    On Mon, Apr 08, 2024 at 11:50:04AM +0200, Vincent Lefevre wrote:
    The lvm2 package is installed, but not thin-provisioning-tools,
    though lvm2 recommends it. This can yield a broken system:
    […]
    It is not mandatory in all cases, but it some cases. In any case,
    the "Recommends:" must be honored.

    You haven't mentioned AT ALL if we are talking about upgrade or a fresh install of lvm2, for the later see below. For the former:

    It was not an upgrade. For one of the machines, this was the status
    a bit after the installation of bookworm. For the other machine, this
    was the status just a bit after the installation of a weekly build on 2024-01-05.

    Then, I don't know the internals. But according to Bastian Blank[*]:
    "It is installed like everything else." (but see the details below).

    [*] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1068560#22

    No, lvm2 was installed before the time_t transition. It actually
    affects plain bookworm installations (on a machine where I installed
    Debian 12.1 on 2023-10-07); you can see with the attached
    "dpkg --get-selections" output I had at that time.
    ^^^^

    What time? Before you installed lvm2? That output says lvm2 is
    installed. So after it, but what are you trying to tell us then?

    A few hours after the installation of bookworm. You can see that lvm2
    is installed, but not thin-provisioning-tools (which is the bug).
    I mean that this has always been like that (so, if you think that thin-provisioning-tools could have been installed as a Recommends,
    then removed later, this is not the case).

    I just bootstrapped a minimal stable chroot with mmdebstrap and behold:
    | # apt install --install-recommends lvm2
    | Reading package lists... Done
    | Building dependency tree... Done
    | Reading state information... Done
    | The following additional packages will be installed:
    | dmeventd dmsetup libaio1 libdevmapper-event1.02.1 libdevmapper1.02.1 liblvm2cmd2.03 thin-provisioning-tools
    | The following NEW packages will be installed:
    | dmeventd dmsetup libaio1 libdevmapper-event1.02.1 libdevmapper1.02.1 liblvm2cmd2.03 lvm2 thin-provisioning-tools
    | 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
    | Need to get 2662 kB of archives.
    | After this operation, 9729 kB of additional disk space will be used.
    | Do you want to continue? [Y/n] n
    | Abort.

    In other words your issue with a "plain bookworm" install is
    unreproducible

    But what about the usual Debian installation on a real machine?

    For the first machine (bookworm), I used an image via
    https://cdimage.debian.org/debian-cd/current/amd64/jigdo-cd/
    namely, debian-12.1.0-amd64-netinst.iso, and I did the installation
    by using a USB memory stick.

    So, if you want to have any chance of us investigating your problem as
    a bug rather than as a user-error you will have to tell us what you did exactly, preferably with easy to follow steps and output. Failing that,
    on your bookworm install you might be lucky and still have the installation/upgrade and such of lvm2 in your history.log(s).
    That might shine some light on it as well.

    Indeed, in /var/log/apt/history.log.6.gz (note that I did not type
    this command; so it came from the Debian installer):

    Start-Date: 2023-10-07 13:43:22
    Commandline: apt-get -o APT::Status-Fd=4 -o APT::Keep-Fds::=5 -o APT::Keep-Fds::=6 -q -y --no-remove install lvm2
    Install: dmeventd:amd64 (2:1.02.185-2, automatic), libaio1:amd64 (0.3.113-4, automatic), liblvm2cmd2.03:amd64 (2.03.16-2, automatic), lvm2:amd64 (2.03.16-2), libdevmapper-event1.02.1:amd64 (2:1.02.185-2, automatic)
    End-Date: 2023-10-07 13:43:28

    And for the second machine (weekly build):

    Start-Date: 2024-01-05 16:54:09
    Commandline: apt-get -o APT::Status-Fd=4 -o APT::Keep-Fds::=5 -o APT::Keep-Fds::=6 -q -y --no-remove install lvm2
    Install: dmeventd:amd64 (2:1.02.185-2, automatic), libaio1:amd64 (0.3.113-5, automatic), liblvm2cmd2.03:amd64 (2.03.16-2, automatic), lvm2:amd64 (2.03.16-2), libdevmapper-event1.02.1:amd64 (2:1.02.185-2, automatic)
    End-Date: 2024-01-05 16:54:14

    Now, this is clear that the recommended thin-provisioning-tools
    package was not installed together with lvm2.

    --
    Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
    100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
    Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Kalnischkies@21:1/5 to Vincent Lefevre on Tue Apr 9 14:10:02 2024
    XPost: linux.debian.maint.boot

    Control: reassign 1068637 debian-installer
    Control: reassign 1068560 debian-installer
    Control: forcemerge 931283 1068637 1068560

    Summary of bug(s) so far: lvm2 installed by d-i without its Recommends Question: Can we solve this once and for all or do we need/want a
    workaround and/or downgrade for lvm2 only to make user happy
    [only pun intended]

    Merging both into #931283 that seems to be about the same thing.

    On Tue, Apr 09, 2024 at 02:17:18AM +0200, Vincent Lefevre wrote:
    Then, I don't know the internals. But according to Bastian Blank[*]:
    "It is installed like everything else." (but see the details below).

    [*] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1068560#22

    He likely meant that you have installed it, "like everything else"
    because that is what users usually do and you weren't particular clear
    that you haven't – and what you used that did for you… lvm2 isn't
    "a core package", so there are certainly ways of installing Debian
    (even with d-i, which isn't the only way either) without lvm2.

    d-i seems to install packages without recommends: https://salsa.debian.org/installer-team/base-installer/-/blob/master/library.sh?ref_type=heads#L152
    That is later dropped for "everything else", but I suppose lvm2 is
    installed before that – but I don't know much about d-i or lvm2.


    Anyway, it probably isn't a good idea to have d-i install all recommends
    while it sets up the machine – better things to do and all that –, but perhaps it can as one of the last actions (final_apt_preferences ?) run something like:
    | apt-get install --fix-policy
    (after the config is removed, or add --install-recommends).

    Likely involves demoting some 'Recommends' in the base set to 'Suggests' through, but they behave like that already if installed by d-i, so that
    is probably for the best for consistency alone.

    In any case, I will leave d-i folks have fun with this now,
    but feel free to ask apt-team if there is something we can help with.


    Best regards

    David Kalnischkies

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEE5sn+Q4uCja/tn0GrMRvlz3HQeIMFAmYVLFgACgkQMRvlz3HQ eIMuvQ/+IMZyeFsuz+GgLcWNKfvO784QUVxbrLwK/2zY1opSpVveVdQpyFWJnW5M gfp1aj9wVLru2ugn48qgMxUyw0eh+Rag2CrHlLbkr89w0wnbDWUXs1zfGKhZ/H+G cXXu9arL9c+JSx3h7m7m6b6ihLJ76DYjN+yFlPr7Aj/bfuMKk8kMrZcCMYEvIQBQ vqqrJ60pIinwbO1mODMegDWtJlpwIecyUfeg/r6+jscMJiXx5j/1Y7vIIT5pACJU cTjr/O2Dq+M2DUsBZZkHxzDs3V3LTLAbbN0TDjitPrMsMkmwQEOJ6vKn9Pdn3f90 Qbi46A59zs7GtAZ8P4/mhPTiDyXewuHphpKsn+u8zy+zIszQY182oZQZbVAL/EXH hxZZmGHMqwo/YG0797CjS6bpv3y1ijgz8SaXHb4mWnL0QjPT7/hYk4qQrO7L+dTh JQlVHPPcR8+67NAqTOPkYt9tXbvPRHNcxHAjU8m4y4d9zDuO2scGBQ2Ikv2wPAsJ o/vjz91FSND0Ti0HoMNzpjYTPz/1wA34+OCrJ2FhfaRgHWGxM2bUBIPEYNb37axP UrRWkS64VDh0P39+bNTAVY/GFoOI0ZUdz4pJrtwlSD3UqpGP2JivunbrhhVFIoO5 3uLO8oc4AsIQptYQk7J7qKeOpbIz3QZnwoDHhCzwepAQygRN5+k=
    =G0yz
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)