From owner-freebsd-stable@freebsd.org Wed Sep 20 17:35:47 2017 Return-Path: Delivered-To: freebsd-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2507E19A0B for ; Wed, 20 Sep 2017 17:35:47 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from mail.soaustin.net (mail.soaustin.net [192.108.105.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.soaustin.net", Issuer "StartCom Class 2 IV Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6CF2F74986; Wed, 20 Sep 2017 17:35:47 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from lonesome.com (bones.soaustin.net [192.108.105.22]) by mail.soaustin.net (Postfix) with ESMTPSA id 21830B16; Wed, 20 Sep 2017 12:35:46 -0500 (CDT) Date: Wed, 20 Sep 2017 12:35:45 -0500 From: Mark Linimon To: Warner Losh Cc: Aristedes Maniatis , freebsd-stable , Kurt Jaeger , Matthew Seaman Subject: Re: ABI changes within stable branch Message-ID: <20170920173544.GD10570@lonesome.com> References: <20170919081532.GB2170@home.opsec.eu> <21c1d954-8bdf-0d16-f1ca-176cd6df7a60@ish.com.au> <423b38b0-18d8-4252-d2b8-f25f2141e3bb@ish.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Sep 2017 17:35:47 -0000 On Tue, Sep 19, 2017 at 07:33:20PM -0600, Warner Losh wrote: > FreeBSD has always had a policy of backwards compatibility. By that > definition we are stable. What we don't promise is full forwards > compatibility, which is what you are asking for. In particular, "we add things to the ABI" sometimes changes the way packages build (e.g. if a config script auto-detects the change). Because of this, you have to be very particular that you are running either 11.0-built things, or 11.1-built things, but not a combination. If you're running 11.X-stable across the thing-added-to-ABI boundary, then you can get into the same bad state. Ports rarely get into that state across that boundary, and only a few of them, but it is very annoying when it does happen (e.g. rsync). The only way to make sure that doesn't happen is to cancel the developers' ability to modify the ABI in any way. Unfortunately, I don't see that happening. mcl