On 2025-03-04 18:05, Gleb Popov wrote:
On Tue, Mar 4, 2025 at 7:44 PM Harry Schmalzbauer <[email protected]> wrote:

Is my base polluted?

My understanding is that something in flac uses the libgcc_s.so
library. Despite the name, this library is not specific to GCC and we
have an alternative implementation (coming from the LLVM project) in
our base. At the same time, any gcc package also installs a library
with the same name. Since you aren't running pkgbase, pkg only knows
about libgcc_s.so.1 that comes from gcc. It has no idea that another
library exists so it is safe to remove gcc without forcing flac
removal.

I'm not sure what to do about this, though. Maybe Baptiste will help us.

Thanks for the conclusion.
I was unsure if base llvm does provide libgcc_s.so.1 (legally).

But I don't see base libgcc_s.so.1 beeing utilized by audio/flac.

Anyways, until recently, shared libraries from base were filtered:


pkg info -F pkg/FreeBSD:14:amd64/OPTS:x11pulsemedia:haswell/.Attic.All/check-0.15.2_1.pkg
check-0.15.2_1
Name           : check
Version        : 0.15.2_1
Origin         : devel/check
Architecture   : FreeBSD:14:amd64
Prefix         : /usr/local
Categories     : devel
Licenses       : LGPL21
Maintainer     : [email protected]
WWW            : https://libcheck.github.io/check/
Comment        : Unit test framework for C
Options        :
        DOCS           : on
        EXAMPLES       : on
Shared Libs provided:
        libcheck.so.0
Annotations    :
        FreeBSD_version: 1402000
Flat size      : 472KiB

Creating the package with pkg-2.0.6 results in
pkg info -F pkg/FreeBSD:14:amd64/OPTS:x11pulsemedia:haswell/All/check-0.15.2_1.pkg
check-0.15.2_1
Name           : check
Version        : 0.15.2_1
Origin         : devel/check
Architecture   : FreeBSD:14:amd64
Prefix         : /usr/local
Categories     : devel
Licenses       : LGPL21
Maintainer     : [email protected]
WWW            : https://libcheck.github.io/check/
Comment        : Unit test framework for C
Options        :
        DOCS           : on
        EXAMPLES       : on
Shared Libs required:
        librt.so.1
        libm.so.5
        libthr.so.3
        libc.so.7
Shared Libs provided:
        libcheck.so.0
Annotations    :
        FreeBSD_version: 1402504
Flat size      : 472KiB


And there's another unfortunate change:
The FreeBSD_version in "Annotations" isn't derived from ${OSVERSION} anymore.
I pre-defined OSVERSION because of this pointless warning:
pkg instal check
Updating localrepo_x86-64-v3 repository catalogue...
Fetching meta.conf: 100%    179 B   0.2kB/s    00:01
Fetching data.pkg: 100%  576 KiB 589.3kB/s    00:01
Processing entries:  93%
Newer FreeBSD version for package check:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1402504
- running userland: 1402501
Ignore the mismatch and continue? [y/N]:

The stable branch explicitly maintains ABI compatibility.
As far as I understand, it makes no sense for pkg(1) to check anything else than the first two digits of $OSVERSION.

-harry

Reply via email to