Skip to content

Transition from pkg-config to pkgconf not displayed in brew update/brew outdated/brew upgrade #18788

Open
@aphedges

Description

brew doctor output

Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: No developer tools installed.
Install Clang or run `brew install gcc`.

Verification

  • My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
    • I did not get the message, but it's unrelated to my issue.
  • I ran brew update twice and am still able to reproduce my issue.
    • I specifically needed to avoid updating to reproduce this issue.
  • This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output

HOMEBREW_VERSION: 4.4.6
ORIGIN: https://github.com/Homebrew/brew
HEAD: cc0b5d6d05d1f3af5b2f53e9fbb1e7bfa0c332ab
Last commit: 2 days ago
Core tap HEAD: 5a7889f0a99d3ea24b9cc95062c2036111d15e5e
Core tap last commit: 62 minutes ago
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 10
HOMEBREW_NO_AUTO_UPDATE: set
HOMEBREW_NO_INSTALL_CLEANUP: set
HOMEBREW_NO_INSTALL_FROM_API: set
Homebrew Ruby: 3.3.6 => /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/bin/ruby
CPU: 10-core 64-bit unknown_0x0_0x0
Clang: N/A
Git: 2.47.0 => /bin/git
Curl: 8.9.1 => /bin/curl
Kernel: Linux 6.10.11-linuxkit x86_64 GNU/Linux
OS: Fedora release 41 (Forty One)
Host glibc: 2.40
/usr/bin/gcc: N/A
/usr/bin/ruby: N/A
glibc: N/A
gcc@11: N/A
gcc: N/A
xorg: N/A

What were you trying to do (and why)?

I was running brew update and brew upgrade, which I do most days to keep my install up-to-date.

What happened (include all command output)?

When I updated my formulae last week, Homebrew did not properly express that it was replacing pkg-config with pkgconf:

# brew update
Updated 1 tap (homebrew/core).
==> New Formulae
beautysh         cbfmt            dotnet@8         fileql           kuzco            screenpipe
bibtex-tidy      cljfmt           energy           gplugin          neocmakelsp      sigsum-go
==> Deleted Installed Formulae
pkg-config ✘
==> Outdated Formulae
pkgconf

You have 1 outdated formula installed.
You can upgrade it with brew upgrade
or list it with brew outdated.
# brew outdated
pkgconf (0.29.2_3) < 2.3.0_1
# brew upgrade
==> Upgrading 1 outdated package:
pkg-config 2.3.0_1
==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/manifests/2.3.0_1
############################################################################################# 100.0%
==> Fetching pkgconf
==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/blobs/sha256:4fe98600d631d8d816217b96f905be
############################################################################################# 100.0%
==> Upgrading pkg-config
  -> 2.3.0_1
==> Pouring pkgconf--2.3.0_1.x86_64_linux.bottle.tar.gz
🍺  /home/linuxbrew/.linuxbrew/Cellar/pkgconf/2.3.0_1: 28 files, 489.0KB

What did you expect to happen?

I expected it to be clear that pkg-config was migrated to pkgconf, but the output brew update, brew outdated, and brew upgrade all provided different information, and none of it made clear what happened.

I was only able to figure out what happened from Homebrew/homebrew-core@0c35794, and I should not need to go into the commit history to figure out what version pkgconf upgraded from.

Step-by-step reproduction instructions (by running brew commands)

  1. Create a Dockerfile with the following contents:

    # Pin to latest Fedora image
    FROM fedora:41@sha256:9cfb3a7ad0a36a1e943409def613ec495571a5683c45addb5d608c2c29bb8248
    
    ENV HOMEBREW_NO_AUTO_UPDATE=1
    ENV HOMEBREW_NO_INSTALL_CLEANUP=1
    ENV HOMEBREW_NO_INSTALL_FROM_API=1
    ENV NONINTERACTIVE=1
    
    # Install Homebrew
    RUN dnf install -y git procps-ng
    RUN touch /.dockerenv
    RUN /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/3c4f43009890527e22bc18cf21801e236ba87222/install.sh)"
    RUN echo >> ~/.bashrc
    RUN echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
    
    # Suppress warning for smaller output
    RUN git config --global advice.detachedHead false
  2. Build and run the OCI image with the following commands:

    docker build --platform linux/amd64 --tag brew - <Dockerfile
    docker run --rm -it --platform linux/amd64 brew
  3. Run the following commands to reproduce the output provided above:

    # git -C "$(brew --repository)"/Library/Taps/homebrew/homebrew-core checkout 0c357945611d988fe65e46aeb092cbb6ca7492bd~1
    HEAD is now at 871be5cd76c Merge pull request #197395 from mise-en-dev/bump-mise-2024.11.7
    # brew install pkg-config
    ==> Downloading https://ghcr.io/v2/homebrew/core/pkg-config/manifests/0.29.2_3
    ############################################################################################# 100.0%
    ==> Fetching pkg-config
    ==> Downloading https://ghcr.io/v2/homebrew/core/pkg-config/blobs/sha256:3d9b8bf9b7b4bd08086be1104e3
    ############################################################################################# 100.0%
    ==> Pouring pkg-config--0.29.2_3.x86_64_linux.bottle.tar.gz
    🍺  /home/linuxbrew/.linuxbrew/Cellar/pkg-config/0.29.2_3: 12 files, 747KB
    # git -C "$(brew --repository)"/Library/Taps/homebrew/homebrew-core checkout 0c357945611d988fe65e46aeb092cbb6ca7492bd
    Previous HEAD position was 871be5cd76c Merge pull request #197395 from mise-en-dev/bump-mise-2024.11.7
    HEAD is now at 0c357945611 Merge pull request #194885 from Homebrew/pkgconf-symlink
    # brew outdated
    pkgconf (0.29.2_3) < 2.3.0_1
    # brew upgrade
    ==> Upgrading 1 outdated package:
    pkg-config 2.3.0_1
    ==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/manifests/2.3.0_1
    ############################################################################################# 100.0%
    ==> Fetching pkgconf
    ==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/blobs/sha256:4fe98600d631d8d816217b96f905be
    ############################################################################################# 100.0%
    ==> Upgrading pkg-config
      -> 2.3.0_1
    ==> Pouring pkgconf--2.3.0_1.x86_64_linux.bottle.tar.gz
    🍺  /home/linuxbrew/.linuxbrew/Cellar/pkgconf/2.3.0_1: 28 files, 489.0KB

Metadata

Assignees

No one assigned

    Labels

    bugReproducible Homebrew/brew bughelp wantedWe want help addressing this

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions