From nobody Wed Sep 4 07:56:40 2024 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WzFF65zNqz5TMbT for ; Wed, 04 Sep 2024 07:56:42 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WzFF63n6mz4JfR; Wed, 4 Sep 2024 07:56:42 +0000 (UTC) (envelope-from bapt@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725436602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3gf94jYiIjlEhODZRRGHmY3+ei1/re0Fj7Nk1s3WQb8=; b=SRvHSCr0sAPMsZscAFYRnz5BEIoWTK4FEI9l6CAVfcWmtjegMXg3FfTpfJuCxf0me8m/6R f9jjbINEJtyJUVdSRNx/nW+IZ0EBtujdYd654fYTCESmY192q10peLcm3moI+UaPG3/HQk FBCctb90xe6+e9Hzgd4Et9t4pymZk8L/ajI8Qj0vojFh3HGyPPERklf/4YNJImityZRf57 0LyCmUgRVlts4izv3PBHRA4HS7ut3ey6PAMfUeANE7000Opy7LwloJlZRZODUbH7eu4lIV atbRlmlgxkGVqZYhfXAwIMLO+ioPrfXriokTQ8kXHpVcIZtxu0BlM3LGKkAIMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725436602; a=rsa-sha256; cv=none; b=NhL4F5UzSiLIish6Nsmpbrt8xc5JBTb0srj9FgO0bJysH9hhhltI8Oz/Sk5O7D/ZR5D6o5 wx0lD57O9KWdzV9m/EItCR1xOyBMVrgPfmYIJBUy8fk4VsIkKzo+EB1S20m2nlVHdSdsz0 Jv4p5EoDRQrkolC8QV8nAKkB89gPc3SgOBdWKBNC/Dq833tYWTA7eR+kdi94s/mPOKBwQc q7gfbAUsy6CL2ymrXrTwzvRTaeuUCr2pRmYOeV/iBNprfCSyqo8bWW8ltphBBciOWL523F pwtiTEyFiyziRq4h4b02WOSEeh7IsD+zh17b28kALmC7/wWu5admjG9W6BAQFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725436602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3gf94jYiIjlEhODZRRGHmY3+ei1/re0Fj7Nk1s3WQb8=; b=JJs2t8ohai0UThz1CiEGRGqMK+p8IYDuxxD2PNd2Xj8XK0u1aFsBYPiUfLCrflyzKIlmNY 3bMoJOMBGzWp7pIf4+MxyylyVJ8BYfED7UmrkiSw216JZ7IX0XQy2MztzrsrxWSbfWvSpv 7DjgfUPHSUlK63fafxpKHbM+bXxNt5dr1d/QLQ6l+r8zKDUy7rEDdvqbEFYITv4bzcqPxf LUaWy/4CrSEB43+l0YCJocuTTJtJcsjkFoykNR9JNlUbmS3DTN73DG8z7NsjBVoyTiM189 HgrhcdaGhpgJuxKkTzw9RBUoPtmD1zMqd0mf4pYAG9XtTZZ6xDgLp5gFmS1LiQ== Received: from aniel.nours.eu (nours.eu [176.31.115.77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 4WzFF62jrrz1RZd; Wed, 4 Sep 2024 07:56:42 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: by aniel.nours.eu (Postfix, from userid 1001) id 41E45220D0E; Wed, 4 Sep 2024 09:56:40 +0200 (CEST) Date: Wed, 4 Sep 2024 09:56:40 +0200 From: Baptiste Daroussin To: Alan Somers Cc: Warner Losh , Poul-Henning Kamp , FreeBSD Hackers Subject: Re: It's not Rust, it's FreeBSD (and LLVM) Message-ID: References: <202409031532.483FW0If007252@critter.freebsd.dk> <202409031950.483JoBuh009465@critter.freebsd.dk> List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Tue 03 Sep 14:40, Alan Somers wrote: > On Tue, Sep 3, 2024 at 2:21 PM Warner Losh wrote: > > > > > > > > On Tue, Sep 3, 2024, 2:19 PM Alan Somers wrote: > >> > >> On Tue, Sep 3, 2024 at 1:50 PM Poul-Henning Kamp 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. > There is 2 things: internal libs and private libs. Internal libs are only static linked and never live anywhere but in the source tree, this means it cannot be used by things built outside of the sourcetree, then there are privatelib, it is perfectly fine for a program built outside of the source tree to be linked to a privatelib as soon as the consumers understands the risks pkg itself is a good example of this as it links to libprivatezstd. Private libs are by designed installed in /usr/lib therefore as soon as we allow pkg at buildtime to lookup for dependency in base (side note: we do not because pkgbase is not officially a thing so nothing is able to declare what base is exposition as things to depend on, but pkg knows how to do it and would work actually better for dependency resolution if we lived in a world where base will be always packaged.) then privatelib dependency perfectly works, there is no need to bundle them into pkg. About the ABI stability, I am claiming since day one of the problem there we should have a list of packages that are tight to minor releases, either marked as such in the ports tree, or extracted out of the ports tree, and we have a dedicated build for those and only for those. this will solve the problem of ABI solition. and pkg supports everything for this to work properly. This means we would have 3 repositories: - https://pkg.freebsd.org/${ABI}/base_release_${VERSION_MINOR}/ - https://pkg.freebsd.org/${ABI}/${VERSION_MINOR}/latest (the packages per release) - https://pkg.freebsd.org/${ABI}/latest We have many actionable options, it just needs someone to actually do one and make it happen. Best regards, Bapt