• Installed packages to be REMOVED

    From Roger Marquis@marquis@roble.com to muc.lists.freebsd.ports on Wed Jul 9 10:20:34 2025
    From Newsgroup: muc.lists.freebsd.ports

    The most recent protobuf-c package update wants to remove and downgrade incompatible dependencies:

    Cannot solve problem using SAT solver, trying another plan
    The following 5 package(s) will be affected (of 0 checked):
    Installed packages to be UPGRADED:
    protobuf-c: 1.5.1_2 -> 1.5.1_3
    Installed packages to be DOWNGRADED:
    bind-tools: 9.20.10 -> 9.20.9
    libxml2: 2.14.4 -> 2.11.9
    Installed packages to be REMOVED:
    apache24: 2.4.63_1
    py311-html5-parser: 0.4.12_2
    The operation will free 4 MiB

    This should never happen. It never happens on Linux package upgrades,
    making autoupdate cron tasks feasible and saving nontrivial admin time.

    Would be great if there were a poudriere or pkg-install flag or
    environment variable to prevent such behavior but I did not find one in
    the docs. Did I miss it or is there an RFE form under freebsd.org for
    such requests?

    Roger Marquis


    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Gleb Popov@arrowd@freebsd.org to muc.lists.freebsd.ports on Wed Jul 9 21:11:06 2025
    From Newsgroup: muc.lists.freebsd.ports

    On Wed, Jul 9, 2025 at 8:21rC>PM Roger Marquis <marquis@roble.com> wrote:

    This should never happen.
    It depends on the definition of "this". It is unclear what is happening there. What command are you running? Are you using the official package repository?
    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Piotr Smyrak@ps.ports@smyrak.com to muc.lists.freebsd.ports on Wed Jul 9 20:13:29 2025
    From Newsgroup: muc.lists.freebsd.ports

    On Wed, 9 Jul 2025 10:20:34 -0700 (PDT)
    Roger Marquis <marquis@roble.com> wrote:

    The most recent protobuf-c package update wants to remove and
    downgrade incompatible dependencies:

    Cannot solve problem using SAT solver, trying another plan
    The following 5 package(s) will be affected (of 0 checked):
    Installed packages to be UPGRADED:
    protobuf-c: 1.5.1_2 -> 1.5.1_3
    Installed packages to be DOWNGRADED:
    bind-tools: 9.20.10 -> 9.20.9
    libxml2: 2.14.4 -> 2.11.9
    Installed packages to be REMOVED:
    apache24: 2.4.63_1
    py311-html5-parser: 0.4.12_2
    The operation will free 4 MiB

    This should never happen. It never happens on Linux package upgrades,
    making autoupdate cron tasks feasible and saving nontrivial admin
    time.

    I don't think this has anything to do with protobuf-c, since it does
    not depend on libxml2 in any way. The packages indicated as pending
    removal are looking rather as a culprit to this. Both depend on
    libxml2. And Apache has got its port revision bumped +1 in comparison
    to the version you pasted.
    --
    Piotr Smyrak


    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Roger Marquis@marquis@roble.com to muc.lists.freebsd.ports on Wed Jul 9 20:59:20 2025
    From Newsgroup: muc.lists.freebsd.ports

    Tatsuki Makino wrote:
    What will be the result of pkg check -dan when such a condition occurs?

    # pkg check -dan
    Checking all packages: 100%
    gnupg1 has a missing dependency: curl
    gnupg1 is missing a required shared library: libcurl.so.4
    openjdk8 has a missing dependency: fontconfig
    openjdk8 has a missing dependency: dejavu
    openjdk8 has a missing dependency: freetype2
    openjdk8 is missing a required shared library: libfreetype.so.6
    (all intentionally missing)

    Edward Sanford Sutton, III wrote:
    libxml2 was upgraded to 2.14.4 then reverted to 2.11.9 on 06/21
    within an hour, then reupgraded on 6/28 if I read logs correctly.
    Freshports lists quarterly package repository is still on 2.11 while
    latest is on 2.14; have you switched or activated multiple repos?

    No repo changes, using a single repo built daily on a local poudriere
    server.

    Upgrades lead to errors, including on Linux; I broke multiple distros through updates to varying degrees but they were definitely broken by
    the action.

    It looks like that may be the issue here...

    # pkg upgrade
    pkg: ...: duplicate dependency listing: ... (repeated many times)
    Cannot solve problem using SAT solver, trying another plan
    Checking integrity... done (0 conflicting)
    The following 5 package(s) will be affected (of 0 checked):
    Installed packages to be UPGRADED:
    protobuf-c: 1.5.1_2 -> 1.5.1_3
    Installed packages to be DOWNGRADED:
    bind-tools: 9.20.10 -> 9.20.9
    libxml2: 2.14.4 -> 2.11.9
    Installed packages to be REMOVED:
    apache24: 2.4.63_1
    py311-html5-parser: 0.4.12_2
    # pkg install
    The following 15 package(s) will be affected (of 0 checked):
    New packages to be INSTALLED:
    curl: 8.13.0_1
    fontconfig: 2.15.0_3,1
    freetype2: 2.13.3
    libX11: 1.8.12,1
    libXScrnSaver: 1.2.4_1
    libXau: 1.0.12
    libXdmcp: 1.1.5
    libXext: 1.3.6,1
    libXft: 2.3.8
    libXrender: 0.9.12
    libxcb: 1.17.0
    tcl86: 8.6.16_2
    tk86: 8.6.16
    xorgproto: 2024.1
    (all intentionally removed -f)
    Installed packages to be UPGRADED:
    protobuf-c: 1.5.1_2 -> 1.5.1_3

    As a workaround, you could first run an upgrade with -n and check if
    the output contains REMOVED or even DOWNGRADED (rarely happens, but can legitimately happen) and error out + contact admin.
    If automating, remember that without an option to run autoremove
    during the upgrade that you still need a second command to try to handle dependency cleanup. Without it, any unused dependencies will remain
    until they conflict. With the effort to report upgrade used space, you
    would think such cleanup would be a default (but preferrably optional)
    part of upgrading.

    Two great tips, thanks!

    Roger



    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Matthias Fechner@idefix@fechner.net to muc.lists.freebsd.ports on Thu Jul 10 08:34:38 2025
    From Newsgroup: muc.lists.freebsd.ports

    Am 10.07.2025 um 06:59 schrieb Roger Marquis:
    No repo changes, using a single repo built daily on a local poudriere
    server.

    make sure your ports repository is up-to-date, this is already fixed.

    Matthias



    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Roger Marquis@marquis@roble.com to muc.lists.freebsd.ports on Thu Jul 10 07:39:07 2025
    From Newsgroup: muc.lists.freebsd.ports

    Matthias Fechner wrote:
    make sure your ports repository is up-to-date, this is already fixed.

    See that in today's reports thanks to the update of libxml2: 2.14.4 -> 2.14.4_1.

    Which brings up an interesting poudriere dilemma. How to detect git
    commits that are made out of order i.e, that create dependencies on
    package version that have not been committed (or built)? Solution
    to-date has been to ignore all updates and wait for the next day's
    build. This is, of course, a suboptimal solution as security fixes
    could be delayed.

    Ideally these commits would simply be be held as pull requests but is
    that always detectable or feasible? How do the Linux distributions do
    it so well?

    Roger Marquis



    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2