• Upgrading GNU Troff -- dependency hell!

    From Anton Shepelev@3:770/3 to All on Sun Oct 3 00:43:05 2021
    Hello, all

    When trying to upgrade GNU Troff (groff-base/oldstable)
    from version 1.22.4-3 to 1.22.4-3+ , `apt' proposes to
    do the following:

    The following NEW packages will be installed:
    acl bc colord colord-data cups cups-browsed cups-client
    cups-common cups-core-drivers cups-daemon cups-filters cups-filters-core-drivers cups-ipp-utils cups-pk-helper cups-ppdc cups-server-common gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gtk-3.0 gir1.2-packagekitglib-1.0 gir1.2-pango-1.0 gir1.2-polkit-1.0
    gir1.2-secret-1 hplip hplip-data libasound2-plugins libcolorhug2
    libfontembed1 libgtksourceview-3.0-1 libgtksourceview-3.0-common
    libgusb2 libgutenprint-common libgutenprint9 libhpmud0
    libieee1284-3 liblouis-data liblouis17 liblouisutdml-bin
    liblouisutdml-data liblouisutdml8 libmariadb3 libpulsedsp libqpdf21
    libsane libsane-common libsane-hpaio libsnmp-base libsnmp30
    mariadb-common mousepad mysql-common poppler-utils
    printer-driver-gutenprint printer-driver-hpcups
    printer-driver-postscript-hp pulseaudio pulseaudio-utils
    python3-cairo python3-cups python3-cupshelpers python3-pexpect python3-ptyprocess python3-renderpm python3-reportlab
    python3-reportlab-accel python3-smbc rpi.gpio-common rtkit
    sane-utils ssl-cert system-config-printer
    system-config-printer-common system-config-printer-udev update-inetd

    The following packages will be upgraded:
    alsa-utils apt apt-utils arandr aspell avahi-daemon base-files
    bind9-host bluez bluez-firmware ca-certificates chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra curl dbus
    dbus-user-session dbus-x11 device-tree-compiler dillo
    distro-info-data dphys-swapfile ffmpeg file firmware-atheros
    firmware-brcm80211 firmware-libertas firmware-misc-nonfree
    firmware-realtek fuse ghostscript git git-man glib-networking glib-networking-common glib-networking-services gpicview groff-base gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-libav
    gstreamer1.0-plugins-bad gstreamer1.0-plugins-base
    gstreamer1.0-plugins-good gstreamer1.0-x gtk2-engines-clearlookspix
    iproute2 iputils-ping isc-dhcp-client isc-dhcp-common klibc-utils libapt-inst2.0 libapt-pkg5.0 libaspell15 libavahi-client3
    libavahi-common-data libavahi-common3 libavahi-core7 libavahi-glib1 libavahi-ui-gtk3-0 libavcodec58 libavdevice58 libavfilter7
    libavformat58 libavresample4 libavutil56 libbind9-161
    libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2
    libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libbluetooth3 libbrotli1 libbsd0 libc-bin libc-dev-bin libc-l10n
    libc6 libc6-dbg libc6-dev libcups2 libcupsimage2 libcurl3-gnutls
    libcurl4 libdbus-1-3 libdbus-1-dev libdns-export1104 libdns1104
    libegl-mesa0 libegl1-mesa-dev libexif12 libexiv2-14 libfluidsynth1
    libfm-data libfm-extra4 libfm-gtk-data libfm-gtk4 libfm-modules
    libfm4 libfreerdp-client2-2 libfreerdp2-2 libfreetype6
    libfreetype6-dev libfuse2 libgbm1 libgcrypt20 libgl1-mesa-dev
    libgl1-mesa-dri libglapi-mesa libgles2-mesa libgles2-mesa-dev
    libglx-mesa0 libgnutls30 libgs9 libgs9-common libgssapi-krb5-2
    libgssdp-1.0-3 libgstreamer-gl1.0-0 libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0 libgupnp-1.0-4 libhogweed4 libicu63 libimobiledevice6 libinput-bin libinput10 libisc-export1100
    libisc1100 libisccc161 libisccfg163 libjavascriptcoregtk-4.0-18 libjpeg-turbo-progs libjpeg62-turbo libjs-jquery libjs-underscore
    libjson-c3 libk5crypto3 libklibc libkrb5-3 libkrb5support0
    libldap-2.4-2 libldap-common libldb1 liblirc-client0 liblwres161
    liblz4-1 libmagic-mgc libmagic1 libnettle6 libnftnl11 libnss3
    libntfs-3g883 libobrender32v5 libobt2v5 libopenjp2-7
    libopenmpt-modplug1 libopenmpt0 libp11-kit0 libpam-chksshpwd
    libpam-modules libpam-modules-bin libpam-runtime libpam-systemd
    libpam0g libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
    libpangoxft-1.0-0 libpigpio-dev libpigpio1 libpigpiod-if-dev
    libpigpiod-if1 libpigpiod-if2-1 libpolkit-agent-1-0
    libpolkit-backend-1-0 libpolkit-gobject-1-0 libpostproc55
    libproxy-tools libproxy1v5 libpulse-dev libpulse-mainloop-glib0
    libpulse0 libpython3.7 libpython3.7-dev libpython3.7-minimal libpython3.7-stdlib libqt5concurrent5 libqt5core5a libqt5dbus5
    libqt5gui5 libqt5network5 libqt5printsupport5 libqt5sql5
    libqt5sql5-sqlite libqt5widgets5 libqt5xml5 libraspberrypi-bin libraspberrypi-dev libraspberrypi-doc libraspberrypi0 libruby2.5
    libsndfile1 libsqlite3-0 libssh-4 libssh-gcrypt-4 libssl1.1
    libswresample3 libswscale5 libsystemd0 libtag1v5 libtag1v5-vanilla
    libtiff5 libturbojpeg0 libudev-dev libudev1 libunwind8 libvlc-bin
    libvlc5 libvlccore9 libvncclient1 libwebkit2gtk-4.0-37 libwebp6
    libwebpdemux2 libwebpmux3 libwinpr2-2 libx11-6 libx11-data
    libx11-dev libx11-xcb1 libxml2 libzmq5 libzstd1 linux-libc-dev
    locales lxinput lxpanel lxpanel-data lxplug-bluetooth
    lxplug-cputemp lxplug-ejecter lxplug-network lxplug-ptbatt
    lxplug-volume lxterminal mesa-va-drivers mesa-vdpau-drivers meson multiarch-support nfs-common ninja-build ntfs-3g openbox
    openssh-client openssh-server openssh-sftp-server openssl pcmanfm
    pi-bluetooth pi-greeter pigpio pigpio-tools pigpiod pipanel
    pishutdown piwiz pixflat-icons policykit-1 pprompt
    python-apt-common python-gpiozero python-motephat python-pigpio
    python-pil python-rpi.gpio python-spidev python3-apt
    python3-gpiozero python3-lxml python3-motephat python3-pgzero
    python3-pigpio python3-pil python3-rpi.gpio python3-spidev
    python3.7 python3.7-dev python3.7-minimal python3.7-venv rake raspberrypi-bootloader raspberrypi-kernel raspi-config rc-gui realvnc-vnc-server rpd-plym-splash rpi-eeprom rpi-eeprom-images
    rpi-update ruby2.5 rubygems-integration ssh sudo systemd
    systemd-sysv tzdata udev unzip vlc vlc-bin vlc-data vlc-l10n
    vlc-plugin-base vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-output vlc-plugin-video-splitter
    vlc-plugin-visualization wpasupplicant xserver-common
    xserver-xorg-core xterm 325 upgraded, 74 newly installed, 0 to
    remove and 2 not upgraded. Need to get 526 MB of archives. After
    this operation, 187 MB of additional disk space will be used.

    How on Earth can a minor upgrade of GNU Troff start pull such an
    avanlange of dependencies? How can it, for example, directly or
    indirectly depend on `alsa-utils'? How can I see the branch of the
    dependency tree that contains `alsa-utils' ?

    Can you please check your GNU Troff installations and tell me
    whether the standard macro packages `mm', `ms', and `me' are
    available, for I cannot find them in mine, which is *very* strange.

    --
    () ascii ribbon campaign - against html e-mail
    /\ http://preview.tinyurl.com/qcy6mjc [archived]
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From A. Dumas@3:770/3 to Anton Shepelev on Sun Oct 3 07:14:24 2021
    Anton Shepelev <antoff.txt@gmail.com> wrote:
    When trying to upgrade GNU Troff (groff-base/oldstable)
    from version 1.22.4-3 to 1.22.4-3+ , `apt' proposes to
    do the following:
    [...]
    How on Earth can a minor upgrade of GNU Troff start pull such an
    avanlange of dependencies?

    Are you sure 3+ is even a real version? I see 1.22.4-3+deb10u1 where the +deb10u1 part means it's a customisation. Have you not updated your system
    in a long time? Perhaps some version jumps of dependencies require further updates of their dependencies etc.

    apt-cache show groff-base
    apt-cache depends groff-base
    apt-cache rdepends groff-base
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Richard Kettlewell@3:770/3 to Anton Shepelev on Sun Oct 3 10:13:34 2021
    Anton Shepelev <antoff.txt@gmail.com> writes:
    When trying to upgrade GNU Troff (groff-base/oldstable)
    from version 1.22.4-3 to 1.22.4-3+ , `apt' proposes to
    do the following:

    What command did you actually type and what was the complete output?
    It’s not possible to reliably interpret output like this without
    context.

    What does
    dpkg --audit
    display?

    [...]
    How on Earth can a minor upgrade of GNU Troff start pull such an
    avanlange of dependencies? How can it, for example, directly or
    indirectly depend on `alsa-utils'? How can I see the branch of the dependency tree that contains `alsa-utils' ?

    It doesn’t.

    $ apt depends groff-base
    groff-base
    Depends: libc6 (>= 2.17)
    Depends: libgcc1 (>= 1:4.0)
    Depends: libstdc++6 (>= 4.1.1)
    Depends: libuchardet0 (>= 0.0.1)
    Breaks: groff (<< 1.22.4~rc2-2)
    Breaks: <jgroff> (<< 1.17-1)
    Breaks: pmake (<< 1.45-7)
    Breaks: troffcvt (<< 1.04-14)
    Suggests: groff
    groff:armhf
    Replaces: groff (<< 1.22.4~rc2-2)
    Replaces: <jgroff> (<< 1.17-1)

    Can you please check your GNU Troff installations and tell me
    whether the standard macro packages `mm', `ms', and `me' are
    available, for I cannot find them in mine, which is *very* strange.

    I suspect your system is broken in some way and apt is trying to fix it.

    --
    https://www.greenend.org.uk/rjk/
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Anton Shepelev@3:770/3 to All on Tue Oct 5 00:36:38 2021
    A. Dumas to Anton Shepelev:

    How on Earth can a minor upgrade of GNU Troff start pull
    such an avanlange of dependencies?

    Are you sure 3+ is even a real version? I see
    1.22.4-3+deb10u1 where the +deb10u1 part means it's a
    customisation.

    I had only about half an hour at my RPi and misinterpreted
    the output. This is my fault.

    Have you not updated your system in a long time?

    Yes. When tried to update GNU Troff the first time, `apt'
    prepared to download a sensible 25 Mb, but failed because of
    unacessible servers. It recommended that I issue `apt-get update',
    after which trying to upgrade GNU Troff produced
    the avalanche quoted in the previous post.

    Perhaps some version jumps of dependencies require further
    updates of their dependencies etc.

    That is what I tried to understand, because `apt' claimed
    all those updates were part to the GNU Troff dependency
    tree!

    apt-cache show groff-base
    apt-cache depends groff-base
    apt-cache rdepends groff-base

    I will do them when I get to the RPi again (which in my off-
    town house). Thank you.

    --
    () ascii ribbon campaign -- against html e-mail
    /\ http://preview.tinyurl.com/qcy6mjc [archived]
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From A. Dumas@3:770/3 to Anton Shepelev on Tue Oct 5 10:49:16 2021
    On 04-10-2021 23:36, Anton Shepelev wrote:
    Yes. When tried to update GNU Troff the first time, `apt'
    prepared to download a sensible 25 Mb, but failed because of
    unacessible servers. It recommended that I issue `apt-get update',


    Before ANY "apt upgrade", ALWAYS do an "apt update" (OK, maybe not when
    you already did it 2 minutes ago). It gets you all the most recent
    package information from the servers. The errors you got were probably
    from starting with outdated package info; then apt can't find the old
    ones on the server.

    So yeah, I still think the avalanche of updates you got were "just"
    system updates from not having updated for a long time. Also, sometimes
    things get added between revisions. The RPi Foundation tries to make one
    image to please all of their users so they add and remove things you
    might not like. Easiest thing to do is simply accept the state of things
    and follow their updates.
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Anton Shepelev@3:770/3 to All on Sun Oct 10 21:01:33 2021
    I wrote to A. Dumas:

    apt-cache show groff-base
    apt-cache depends groff-base
    apt-cache rdepends groff-base

    I will do them when I get to the RPi again (which in my off-
    town house). Thank you.

    `show groff-base' displays the following dependencies:

    Depends:
    libc6 (>= 2.4),
    libgcc1 (>= 1:4.0),
    libstdc++6 (>= 4.3.0),
    libuchardet0 (>= 0.0.1)

    which is what I should expect.

    `depends groff-base' shows:

    Depends: libc6
    Depends: libgcc1
    Depends: libstdc++6
    Depends: libuchardet0
    Breaks: groff
    Breaks: <jgroff>
    Breaks: pmake
    Breaks: troffcvt
    Suggests: groff
    Replaces: groff
    Replaces: <jgroff>

    `ardepends groff-base' shows:

    man-db
    qmail-src
    rpmlint
    perl-doc
    groff
    live-task-standard
    imagemagick-6.q16hdri
    imagemagick-6.q16
    groff
    bioperl
    gdisk
    doclifter
    cppman

    A. Dumas:

    Before ANY "apt upgrade", ALWAYS do an "apt update" (OK, maybe
    not when you already did it 2 minutes ago). It gets you all the
    most recent package information from the servers. The errors you
    got were probably from starting with outdated package info; then
    apt can't find the old ones on the server.

    Thanks for the advice and the explanation.

    So yeah, I still think the avalanche of updates you got were
    "just" system updates from not having updated for a long time.
    Also, sometimes things get added between revisions. The RPi
    Foundation tries to make one image to please all of their users
    so they add and remove things you might not like. Easiest thing
    to do is simply accept the state of things and follow their
    updates.

    And I only wanted a missing Groff macro package :-( I will upgrade
    now, and you will hear from me yet if my RPi survives it.

    P.S.: `apt install groff' did it without any unwaned updates. The
    avalanche menitioned above was due to my attept to upgrade
    groff-base/old-stable . And now I have the `mm' package.

    P.P.S. I had to pass --allow-release-info-change to `apt update'.

    --
    () ascii ribbon campaign - against html e-mail
    /\ http://preview.tinyurl.com/qcy6mjc [archived]
    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)