Re: It's not Rust, it's FreeBSD (and LLVM)

From: Warner Losh <imp_at_bsdimp.com>
Date: Tue, 03 Sep 2024 23:07:53 UTC
On Tue, Sep 3, 2024 at 2:40 PM Alan Somers <asomers@freebsd.org> wrote:

> On Tue, Sep 3, 2024 at 2:21 PM Warner Losh <imp@bsdimp.com> wrote:
> >
> >
> >
> > On Tue, Sep 3, 2024, 2:19 PM Alan Somers <asomers@freebsd.org> wrote:
> >>
> >> On Tue, Sep 3, 2024 at 1:50 PM Poul-Henning Kamp <phk@phk.freebsd.dk>
> wrote:
> >> >
> >> > --------
> >> > Alan Somers writes:
> >> >
> >> > > For example, libifconfig and the /dev/cam/ctl ioctls are both
> unstable.
> >> > > A port that uses one of those and is built for FreeBSD 14.0 won't
> >> > > necessarily work for 14.1.
> >> >
> >> > Isn't that also a problem today ?
> >> >
> >> > What difference does it make that src is distributed as a package ?
> >>
> >> Not "a package" but "many packages".  The pkgbase concept builds a
> >> separate package for almost every dir under lib, bin, sbin, usr.bin,
> >> and usr.sbin.  So the problem will be that libifconfig and its
> >> consumers will be distributed separately, whereas they are currently
> >> distributed together.
> >
> >
> > Won't versions and dependencies solve this? They aren't tied to a kernel
> version since its a stable ABI.
> >
> > Warnrr
> >>
> >> -Alan
>
> Aren't you the one who just said that the ABI will need to become
> stable?  Or did you only mean that about the /dev/cam/ctl ioctls?  For
> private libs, the easiest thing would be if pkgbase could put libs and
> their consumers into the same package.  But that might not always be
> possible.
>

Generally, you're supposed to update all the packages in the system, which
would keep
things from getting cross threaded.

However, I had thought that 'pkg upgrade libfoo' would upgrade all things
that depended
on libfoo. However, it doesn't go 'up' the dependency tree, but just 'down'
for things that libfoo
depends upon. It's one of the fragile things about pkg today used with
ports (though often
it's totally fine, since the ABIs are usually stable)...

I'm not familiar enough with the ctl ioctl to state definitively...
However, it appears, at first blush,
to be fairly stable though.

Warner