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

From: Emmanuel Vadot <manu_at_bidouilliste.com>
Date: Wed, 04 Sep 2024 05:56:09 UTC
 Hi Warner,

On Tue, 3 Sep 2024 17:07:53 -0600
Warner Losh <imp@bsdimp.com> wrote:

> 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.

 If the lib is properly versioned it will, pkg records any libs that the
package depends on in the shlibs_required table and any libs that the
package provides in shlibs_provided. So if the package libfoo provides
libfoo.so.9 and it's updated to provides libfoo.so.10 any packages that
now requires the .10 version will be updated.

> 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)...

 Not sure I follow here.

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


-- 
Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>